{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "54bd32c5",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-12-09T06:52:38.038063Z",
     "start_time": "2023-12-09T06:52:37.104554Z"
    },
    "execution": {
     "iopub.execute_input": "2024-02-01T08:09:34.770412Z",
     "iopub.status.busy": "2024-02-01T08:09:34.770412Z",
     "iopub.status.idle": "2024-02-01T08:09:34.789947Z",
     "shell.execute_reply": "2024-02-01T08:09:34.789442Z",
     "shell.execute_reply.started": "2024-02-01T08:09:34.770412Z"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import scipy.fft as fft\n",
    "import cv2\n",
    "import matplotlib.pyplot as plt\n",
    "import os\n",
    "from tqdm import tqdm\n",
    "import pandas as pd\n",
    "from cv2 import dct\n",
    "import os\n",
    "import imageio\n",
    "os.environ['KMP_DUPLICATE_LIB_OK']='True'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "2f270776",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-12-09T07:35:19.444806Z",
     "start_time": "2023-12-09T07:35:19.430842Z"
    },
    "execution": {
     "iopub.execute_input": "2024-02-01T08:09:35.445241Z",
     "iopub.status.busy": "2024-02-01T08:09:35.445241Z",
     "iopub.status.idle": "2024-02-01T08:09:35.488126Z",
     "shell.execute_reply": "2024-02-01T08:09:35.487129Z",
     "shell.execute_reply.started": "2024-02-01T08:09:35.445241Z"
    },
    "scrolled": true,
    "tags": []
   },
   "outputs": [],
   "source": [
    "def image_hash(img_path,n,k):\n",
    "    img = processing(img_path,n)\n",
    "    C_r_list = image_feature(img,k)\n",
    "    h_i = gen_hashing(C_r_list)\n",
    "    return h_i\n",
    "\n",
    "def processing(img_path,n):\n",
    "    \"\"\"\n",
    "    input：图片的路径\n",
    "    output：处理后的RGB图片\n",
    "    \"\"\"\n",
    "    try:\n",
    "        img = cv2.imread(img_path)\n",
    "        img = cv2.resize((img), (512,512), interpolation=cv2.INTER_LINEAR)\n",
    "    except:\n",
    "        img = imageio.mimread(img_path)\n",
    "        img = np.array(img)\n",
    "        img = img[0]\n",
    "        img = img[:, :, 0:3]\n",
    "        img = cv2.resize((img), (512,512), interpolation=cv2.INTER_LINEAR)\n",
    "#     out = cv2.GaussianBlur(img, (3, 3),1.3) # 使用python自带的高斯滤波\n",
    "    kernel = np.array([[1,2,1],[2,4,2],[1,2,1]])/16\n",
    "    out = cv2.filter2D(img, -1 , kernel=kernel)  # 二维滤波器\n",
    "    out = cv2.cvtColor(out, cv2.COLOR_BGR2YCrCb)[:,:,0]\n",
    "    ring_img = ring_partition(out,n)\n",
    "    return ring_img\n",
    "\n",
    "def ring_partition(img,n):\n",
    "    \"\"\"\n",
    "    使用环形分区形成二次图像：如果是512*512的图片将直接变成每个通道为453*453的形状\n",
    "    img:原始图片\n",
    "    n:环形分区（在这里我们直接指定了453）\n",
    "    return:二次图像\n",
    "    \"\"\"\n",
    "    radius = [0]\n",
    "    u_a = int(np.floor((img.shape[0]/2) ** 2 * np.pi / n)/64)*64\n",
    "    radius.append(np.sqrt(u_a / np.pi))\n",
    "    Y_result = np.zeros((n,u_a))\n",
    "    for i in range(1,n):\n",
    "        radius.append(np.sqrt((u_a + np.pi * radius[i] ** 2) / np.pi))\n",
    "    # radius = np.ceil(radius)\n",
    "    for i in range(len(radius)-1):\n",
    "        inner_radius = radius[i]\n",
    "        outer_radius = radius[i+1]\n",
    "        ring_result = ring_value(img,inner_radius,outer_radius,u_a)\n",
    "        Y_result[i] = ring_result\n",
    "    return Y_result.T\n",
    "\n",
    "def ring_value(img,inner_radius,outer_radius,u_a):\n",
    "    \"\"\"\n",
    "    获取环形分区中不为0的值，并且以升序的形式排序\n",
    "    return:(1,448)\n",
    "    \"\"\"\n",
    "    center = (img.shape[0],img.shape[0])\n",
    "    x,y = np.ogrid[0:img.shape[0],0:img.shape[0]]\n",
    "    distance = np.sqrt((x-img.shape[0]/2)**2 + (y-img.shape[0]/2)**2)\n",
    "    mask = (distance < outer_radius) & (distance >=inner_radius) # 获得在环形区域内的掩码\n",
    "    R = img[mask]\n",
    "    xp = np.linspace(1, len(R), len(R)) \n",
    "    x = np.linspace(1, len(R), u_a)\n",
    "    result = np.sort(np.interp(x, xp, np.sort(R)))\n",
    "    return result\n",
    "\n",
    "def image_feature(img_second,k):\n",
    "    \"\"\"\n",
    "    iamge:(512,512,3)\n",
    "    return: array格式(x,64,64)\n",
    "    \"\"\"\n",
    "    from sklearn.decomposition import NMF\n",
    "    model = NMF(n_components=k, init='random',solver = \"mu\",beta_loss = \"kullback-leibler\", random_state=0 , max_iter = 1000)\n",
    "    W = model.fit_transform(img_second)\n",
    "    H = model.components_\n",
    "    return H\n",
    "\n",
    "def gen_hashing(feature_matrix):\n",
    "    \"\"\"\n",
    "    生成图像哈希值,和原论文不同，我的P和Q矩阵是每一行代表一个图像块。\n",
    "    input:array (x,64,64)\n",
    "    output:list (x)\n",
    "    \"\"\"\n",
    "    k,n = feature_matrix.shape\n",
    "    return np.array([feature_matrix[i][j] for i in range(k) for j in range(n)])\n",
    "    \n",
    "def dist_img(h1,h2):\n",
    "    return np.corrcoef(h1, h2)[0,1]\n",
    "\n",
    "# def dis_different_dir(path,n,k):\n",
    "#     # 目录下图片之间的距离\n",
    "#     dirs = os.listdir(path)\n",
    "#     image_set_list = []\n",
    "#     image_hashing_value_set = []\n",
    "#     for i in tqdm(dirs,ncols = 50):\n",
    "#     # for i in dirs:\n",
    "#         image_hashing_value_set.append(image_hash(os.path.join(path, i),n,k))\n",
    "#     for i in range(len(image_hashing_value_set)):\n",
    "#         for j in range(i+1,len(image_hashing_value_set)):\n",
    "#             image_set_list.append(dist_img(image_hashing_value_set[i],image_hashing_value_set[j]))\n",
    "#     return image_set_list,image_hashing_value_set\n",
    "\n",
    "# def dis_similar_dir(path,n,k):\n",
    "#     # 计算相同类型图片的距离\n",
    "#     dir_rotation = os.listdir(path)\n",
    "#     dis_similar = []\n",
    "#     for i in dir_rotation:\n",
    "#         if os.path.splitext(i)[1] == \".bmp\":\n",
    "# #             print(os.path.join(path, i)) # 用于查看路径是否有中文\n",
    "#             h1 = image_hash(os.path.join(path, i),n,k)\n",
    "#             dir_temp = os.path.join(path,os.path.splitext(i)[0])\n",
    "#             for j in os.listdir(dir_temp):\n",
    "#                 h2 = image_hash(os.path.join(dir_temp,j),n,k)\n",
    "#                 dis_similar.append(dist_img(h1,h2))\n",
    "#     return dis_similar\n",
    "\n",
    "# def my_auc(image_similar, image_different):\n",
    "#     from scipy import integrate\n",
    "#     sum1 = len(image_similar)\n",
    "#     sum2 = len(image_different)\n",
    "#     tpr = []\n",
    "#     fpr = []\n",
    "#     min_value = (min(min(image_similar), min(image_different)))\n",
    "#     threshold_max = (max(max(image_similar), max(image_different)))\n",
    "#     threshold_set = np.linspace(threshold_max,min_value,40)\n",
    "#     # for threshold in np.arange(min_value,threshold_max,0.001):\n",
    "#     for threshold in threshold_set:\n",
    "#         tpr_number = len(image_similar[image_similar > threshold])\n",
    "#         fpr_number = len(image_different[image_different > threshold])\n",
    "#         # tpr_number = 0\n",
    "#         # fpr_number = 0\n",
    "#         # for i in image_similar:\n",
    "#         #     if i < threshold:\n",
    "#         #         tpr_number += 1\n",
    "#         # for j in image_different:\n",
    "#         #     if j < threshold:\n",
    "#         #         fpr_number += 1\n",
    "#         tpr.append(tpr_number/sum1)\n",
    "#         fpr.append(fpr_number/sum2)\n",
    "#     return integrate.trapezoid(tpr,fpr),tpr,fpr\n",
    "\n",
    "# def stat_analysis(dir_path):\n",
    "#     dirs = os.listdir(dir_path)\n",
    "#     for i in dirs:\n",
    "#         xlsx_path = os.path.join(dir_path, i)\n",
    "#         data = pd.read_excel(xlsx_path,header = 0)[0]\n",
    "#         print(f\"{i}的最小值：{min(data)}最大值：{max(data)}平均值：{np.mean(data)}\")\n",
    "\n",
    "# def auc_analysis(dir_path):\n",
    "#     data_similar_rotation_2 = pd.read_excel(os.path.join(dir_path,\"image_similar_distance_2.xlsx\"),header = 0)[0]\n",
    "#     data_similar_rotation_90 = pd.read_excel(os.path.join(dir_path,\"image_similar_distance_90.xlsx\"),header = 0)[0]\n",
    "#     data_different_set_200 = pd.read_excel(os.path.join(dir_path,\"image_different_distance_200.xlsx\"),header = 0)[0]\n",
    "#     data_different_set_1000 = pd.read_excel(os.path.join(dir_path,\"image_different_distance_1000.xlsx\"),header = 0)[0]\n",
    "#     print(f\"旋转2°和set 200的auc值{my_auc(data_similar_rotation_2,data_different_set_200)}\")\n",
    "#     print(f\"旋转2°和set 1000的auc值{my_auc(data_similar_rotation_2,data_different_set_1000)}\")\n",
    "#     print(f\"旋转90°和set 200的auc值{my_auc(data_similar_rotation_90,data_different_set_200)}\")\n",
    "#     print(f\"旋转90°和set 1000的auc值{my_auc(data_similar_rotation_90,data_different_set_1000)}\")\n",
    "\n",
    "def dis_different_dir(path,n,k,des_path):\n",
    "    \"\"\"\n",
    "    path:不同图片的文件夹路径\n",
    "    n:环数\n",
    "    k:系数矩阵的秩\n",
    "    des_path:保存结果的文件夹路径\n",
    "    \"\"\"\n",
    "    # 目录下图片之间的距离\n",
    "    dirs = os.listdir(path)\n",
    "    image_set_list = []\n",
    "    image_hashing_value_set = []\n",
    "    for i in tqdm(dirs,ncols = 50):\n",
    "    # for i in dirs:\n",
    "        if i.split(\".\")[1] == \"gif\":\n",
    "            continue\n",
    "        else:\n",
    "            image_hashing_value_set.append(image_hash(os.path.join(path, i),n,k))\n",
    "    for i in range(len(image_hashing_value_set)):\n",
    "        for j in range(i+1,len(image_hashing_value_set)):\n",
    "            image_set_list.append(dist_img(image_hashing_value_set[i],image_hashing_value_set[j]))\n",
    "    for i in range(int(np.ceil(len(image_set_list)/1000000))-1):\n",
    "        start = i*1000000\n",
    "        end = (i+1)*1000000\n",
    "        pd.DataFrame(image_set_list[start:end]).to_excel(os.path.join(des_path,f\"different_image_result_{i+1}.xlsx\"),index = False)\n",
    "    pd.DataFrame(image_set_list[end+1:]).to_excel(os.path.join(des_path,f\"different_image_result_{i+2}.xlsx\"),index = False)\n",
    "    return image_set_list,image_hashing_value_set\n",
    "\n",
    "def dis_similar_dir(path,n,k):\n",
    "    # 计算相同类型图片的距离\n",
    "    dir_rotation = os.listdir(path)\n",
    "    dis_similar = []\n",
    "    for i in dir_rotation:\n",
    "        if (os.path.splitext(i)[1] == \".bmp\") | (os.path.splitext(i)[1] == \".jpg\"):\n",
    "#             print(os.path.join(path, i)) # 用于查看路径是否有中文\n",
    "            h1 = image_hash(os.path.join(path, i),n,k)\n",
    "            dir_temp = os.path.join(path,os.path.splitext(i)[0])\n",
    "            for j in os.listdir(dir_temp):\n",
    "                h2 = image_hash(os.path.join(dir_temp,j),n,k)\n",
    "                dis_similar.append(dist_img(h1,h2))\n",
    "    # file_name = \"different_image_dis.xlsx\"\n",
    "    # pd.DataFrame(dis_similar).to_excel(filename,index = Flase)\n",
    "    return dis_similar\n",
    "\n",
    "def dir_dis_similar_dir(total_path,n,k,des_path):\n",
    "    \"\"\"\n",
    "    total_path:相同图片各种操作的总文件夹路径\n",
    "    n:环数\n",
    "    k：系数矩阵的秩\n",
    "    des_path:保存结果的路径\n",
    "    \"\"\"\n",
    "    fold_each_attack = os.listdir(total_path)\n",
    "    dir_each_attack= {}\n",
    "    if not os.path.exists(os.path.join(des_path,\"similar_image_result\")):\n",
    "        os.makedirs(os.path.join(des_path,\"similar_image_result\"))\n",
    "    # total_path = os.path.join(total_path,\"similar_image_result\")\n",
    "    for i in tqdm(fold_each_attack,ncols = 50):\n",
    "        attack_path = os.path.join(total_path,i)\n",
    "        dir_each_attack[i] = dis_similar_dir(attack_path,n,k)\n",
    "        file_name = i + \".xlsx\"\n",
    "        pd.DataFrame(dir_each_attack[i]).to_excel(os.path.join(des_path,\"similar_image_result\",file_name),index = False)\n",
    "    return dir_each_attack\n",
    "\n",
    "def my_auc(image_similar, image_different):\n",
    "    from scipy import integrate\n",
    "    sum1 = len(image_similar)\n",
    "    sum2 = len(image_different)\n",
    "    tpr = []\n",
    "    fpr = []\n",
    "    min_value = (min(min(image_similar), min(image_different)))\n",
    "    threshold_max = (max(max(image_similar), max(image_different)))\n",
    "    threshold_set = np.linspace(threshold_max,min_value,50)\n",
    "    # for threshold in np.arange(min_value,threshold_max,0.001):\n",
    "    for threshold in threshold_set:\n",
    "        tpr_number = len(image_similar[image_similar > threshold])\n",
    "        fpr_number = len(image_different[image_different > threshold])\n",
    "        tpr.append(tpr_number/sum1)\n",
    "        fpr.append(fpr_number/sum2)\n",
    "    return integrate.trapezoid(tpr,fpr)\n",
    "\n",
    "def stat_analysis(result_path):\n",
    "    dirs = os.listdir(result_path)\n",
    "    for i in dirs:\n",
    "        file_path = os.path.join(result_path, i)\n",
    "        if os.path.isdir (file_path):\n",
    "            for j in os.listdir(file_path):\n",
    "                xlsx_path = os.path.join(file_path,j)\n",
    "                data = pd.read_excel(xlsx_path,header = 0)[0]\n",
    "                print(f\"{j}的最小值：{min(data)}最大值：{max(data)}平均值：{np.mean(data)}\")\n",
    "        else:\n",
    "            xlsx_path = file_path\n",
    "            data = pd.read_excel(xlsx_path,header = 0)[0]\n",
    "            print(f\"{i}的最小值：{min(data)}最大值：{max(data)}平均值：{np.mean(data)}\")\n",
    "\n",
    "def auc_analysis(dir_path):\n",
    "    similar_image_result_path = os.path.join(dir_path,\"similar_image_result\")\n",
    "    data_different =pd.Series()\n",
    "    for i in os.listdir(dir_path):\n",
    "        if not os.path.isdir(os.path.join(dir_path,i)):\n",
    "            print(os.path.join(dir_path,i))\n",
    "            temp = pd.read_excel(os.path.join(dir_path,i),header = 0)[0]\n",
    "            data_different = pd.concat((data_different,temp),axis=0)\n",
    "    similar_image_result_path_total = pd.Series()\n",
    "    for i in os.listdir(similar_image_result_path):\n",
    "        data_similar = pd.read_excel(os.path.join(similar_image_result_path,i),header = 0)[0]\n",
    "        similar_image_result_path_total= pd.concat((similar_image_result_path_total,data_similar),axis=0)\n",
    "        print(f\"{i}和不同图片的auc值：{my_auc(data_similar,data_different)}\")\n",
    "    print(f\"所有相同图片和不同图片的auc值：{my_auc(similar_image_result_path_total,data_different)}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "97102894-48fc-44b1-ab47-c00bd89620ab",
   "metadata": {
    "collapsed": true,
    "execution": {
     "iopub.execute_input": "2024-02-01T08:09:43.188331Z",
     "iopub.status.busy": "2024-02-01T08:09:43.187333Z",
     "iopub.status.idle": "2024-02-01T09:17:09.683016Z",
     "shell.execute_reply": "2024-02-01T09:17:09.682019Z",
     "shell.execute_reply.started": "2024-02-01T08:09:43.188331Z"
    },
    "jupyter": {
     "outputs_hidden": true
    },
    "scrolled": true,
    "tags": []
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████| 3307/3307 [30:24<00:00,  1.81it/s]\n",
      "100%|██████████████| 9/9 [30:54<00:00, 206.09s/it]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'brightness': [0.9999846391254075,\n",
       "  0.999811620305074,\n",
       "  0.999659843492637,\n",
       "  0.9995911327999013,\n",
       "  0.9993313700420393,\n",
       "  0.999812782289903,\n",
       "  0.9999670031084811,\n",
       "  0.9996035818376022,\n",
       "  0.9982503957844426,\n",
       "  0.9956086157206696,\n",
       "  0.9999332971464968,\n",
       "  0.9997252869406387,\n",
       "  0.9993806556258333,\n",
       "  0.9988734714034454,\n",
       "  0.9982011741390034,\n",
       "  0.999920081678747,\n",
       "  0.9996272121928653,\n",
       "  0.9990102433027495,\n",
       "  0.9983305898403786,\n",
       "  0.997257057705223,\n",
       "  0.9514939282874237,\n",
       "  0.8328086258425905,\n",
       "  0.7271276278646036,\n",
       "  0.6781033136294418,\n",
       "  0.6620077565952309,\n",
       "  0.9512689599015696,\n",
       "  0.8328690136253223,\n",
       "  0.7998764270822639,\n",
       "  0.7761716546365285,\n",
       "  0.7640832968353976,\n",
       "  0.9996724029208386,\n",
       "  0.9988308432707236,\n",
       "  0.9972866895785095,\n",
       "  0.9945524859766858,\n",
       "  0.9907260570070521,\n",
       "  0.9996931258579493,\n",
       "  0.9990598294880053,\n",
       "  0.9979773839682508,\n",
       "  0.9965593692164355,\n",
       "  0.9942196271740562,\n",
       "  0.9993724161881975,\n",
       "  0.9979280971798914,\n",
       "  0.9954206138277069,\n",
       "  0.9916296719355275,\n",
       "  0.9860733811504294,\n",
       "  0.9997759122043252,\n",
       "  0.9990870814314774,\n",
       "  0.9979199660794622,\n",
       "  0.9960681213795585,\n",
       "  0.9937603022038295,\n",
       "  0.9995251105472595,\n",
       "  0.06917000750403439,\n",
       "  0.08021968280399996,\n",
       "  0.08106681317292777,\n",
       "  0.08482225750873,\n",
       "  0.0531003302510488,\n",
       "  0.9990030697435806,\n",
       "  0.9977956706383371,\n",
       "  0.9962602366283507,\n",
       "  0.9945287572418021,\n",
       "  0.9999165082005963,\n",
       "  0.08557946199987354,\n",
       "  0.09611661998624407,\n",
       "  0.10220986286434096,\n",
       "  0.09924100792187823,\n",
       "  0.9999301916529718,\n",
       "  0.9995936032941727,\n",
       "  0.9982060184719929,\n",
       "  0.13841789708128216,\n",
       "  0.14556925382885283,\n",
       "  0.9997294687793082,\n",
       "  0.9990372302737188,\n",
       "  0.9976527119228666,\n",
       "  0.995652921253628,\n",
       "  0.9928409875048078,\n",
       "  0.9996845459971834,\n",
       "  0.9985181262343384,\n",
       "  0.9957586396236783,\n",
       "  0.992141239550219,\n",
       "  0.9873681824962505,\n",
       "  0.9997176807818787,\n",
       "  0.9992354176217847,\n",
       "  0.9970219023591824,\n",
       "  0.9947655126018145,\n",
       "  0.991824948116021,\n",
       "  0.9999061224805357,\n",
       "  0.9983667230602421,\n",
       "  -0.8570333518499623,\n",
       "  -0.8470151077949162,\n",
       "  -0.8362244591553327,\n",
       "  0.9997290594146334,\n",
       "  0.998985163329571,\n",
       "  0.9976174147171186,\n",
       "  0.9955158990754843,\n",
       "  0.9922871389833936,\n",
       "  0.9998086010847719,\n",
       "  0.9992349941965486,\n",
       "  0.9981613143890204,\n",
       "  0.9962808129715784,\n",
       "  0.9940527769079709,\n",
       "  0.9999249503210779,\n",
       "  0.9997724607391039,\n",
       "  0.9994433800282994,\n",
       "  0.9987992073997363,\n",
       "  0.9980626504007356,\n",
       "  0.9999396993435891,\n",
       "  0.9994965521420609,\n",
       "  0.9987708432344482,\n",
       "  0.9960142145332997,\n",
       "  0.9881188301630507,\n",
       "  0.9992007317042062,\n",
       "  0.9971561354877627,\n",
       "  0.9921281268827126,\n",
       "  0.9859201468512842,\n",
       "  0.9773900776018472,\n",
       "  0.9996445771939239,\n",
       "  0.9994530667526431,\n",
       "  -0.9726992116299514,\n",
       "  -0.9726513707049195,\n",
       "  -0.9726197035182796,\n",
       "  0.9966840734214913,\n",
       "  0.9919223155407402,\n",
       "  0.9880564154725524,\n",
       "  0.9838849007583172,\n",
       "  0.9800748261043972,\n",
       "  -0.8138498440942704,\n",
       "  -0.7255432034818654,\n",
       "  -0.6203371031788477,\n",
       "  -0.5143160507271609,\n",
       "  -0.42073183777647705,\n",
       "  0.9998576841510598,\n",
       "  0.9992594331302164,\n",
       "  0.9979674327184722,\n",
       "  0.9958204135441304,\n",
       "  0.9927858762152849,\n",
       "  0.9997290215266923,\n",
       "  0.998727933492937,\n",
       "  0.9966493556861467,\n",
       "  0.9935847699711686,\n",
       "  0.989724644621523,\n",
       "  0.999884653621049,\n",
       "  0.9995764767813541,\n",
       "  0.9990962627035237,\n",
       "  0.9984713820916887,\n",
       "  0.9977085185715031,\n",
       "  0.9999025736508897,\n",
       "  0.9995612023621855,\n",
       "  0.9990086506802331,\n",
       "  0.9980840745358875,\n",
       "  0.9967505051230503,\n",
       "  0.9995343944489882,\n",
       "  0.9985764173404039,\n",
       "  0.9970121731777462,\n",
       "  0.9956608189396584,\n",
       "  -0.9455269097237152,\n",
       "  0.9996220088154595,\n",
       "  0.9991185476517839,\n",
       "  0.9986886786857171,\n",
       "  0.9977392705764149,\n",
       "  0.9966984329585892,\n",
       "  0.9999756298413854,\n",
       "  0.9999237597300562,\n",
       "  0.9998352972974629,\n",
       "  0.9997083766764011,\n",
       "  0.9995308088928683,\n",
       "  0.999992933283721,\n",
       "  0.9999517637717168,\n",
       "  0.9998998184688869,\n",
       "  0.999802158735654,\n",
       "  -0.4872753495712915,\n",
       "  0.993308305768658,\n",
       "  0.9818430315856996,\n",
       "  0.9699340563341134,\n",
       "  0.9566144806159592,\n",
       "  0.9460783126000829,\n",
       "  0.997065754284438,\n",
       "  0.9782620259514603,\n",
       "  0.9495874385164224,\n",
       "  0.9172763192479926,\n",
       "  0.888377534789809,\n",
       "  0.9998420828383178,\n",
       "  0.9994649890777776,\n",
       "  0.9989096578312098,\n",
       "  0.998097448844016,\n",
       "  0.9972976982182595,\n",
       "  0.9998657332433036,\n",
       "  0.999387935744953,\n",
       "  0.9982554022668813,\n",
       "  0.9964986468305743,\n",
       "  0.9942591313753251,\n",
       "  0.9999427413732711,\n",
       "  0.999759458797253,\n",
       "  0.9994254366137254,\n",
       "  0.9985967652177502,\n",
       "  0.9978025579575449,\n",
       "  0.9999481182385701,\n",
       "  0.9997657765278095,\n",
       "  0.9994077092517707,\n",
       "  0.998537554068459,\n",
       "  0.9975505776099772,\n",
       "  0.9931954210323563,\n",
       "  0.9709371166506325,\n",
       "  0.9083163934633366,\n",
       "  0.67517935577687,\n",
       "  0.5658000584942317,\n",
       "  0.9943957119365543,\n",
       "  0.9769436604735502,\n",
       "  0.9534384620362999,\n",
       "  0.9291456150203679,\n",
       "  0.9055205813325792,\n",
       "  0.9982761706178183,\n",
       "  0.9955665026076589,\n",
       "  0.9923699651836443,\n",
       "  0.9888371294777899,\n",
       "  0.984178115473681,\n",
       "  0.9985737478283822,\n",
       "  0.9935981745854844,\n",
       "  0.9863607240678689,\n",
       "  0.9770920107300105,\n",
       "  0.9648092169875206,\n",
       "  0.9994665327384578,\n",
       "  0.9983534970365378,\n",
       "  0.9969841720046883,\n",
       "  0.994246464194842,\n",
       "  0.9909846846634828,\n",
       "  0.999368468153793,\n",
       "  0.9981969817050953,\n",
       "  0.9962879390419105,\n",
       "  0.993392761134663,\n",
       "  0.9892548816527268,\n",
       "  0.9968521762159644,\n",
       "  0.9917126167423118,\n",
       "  0.9864868175469397,\n",
       "  0.9806203383702005,\n",
       "  0.975369623074076,\n",
       "  0.9979773501458796,\n",
       "  0.9912325487015802,\n",
       "  0.9787548014544236,\n",
       "  0.9626592315517457,\n",
       "  0.9450452914297665],\n",
       " 'contrast': [0.999672523656064,\n",
       "  0.9977215463027806,\n",
       "  0.9950541351986337,\n",
       "  0.9896807630324252,\n",
       "  0.9798479376859534,\n",
       "  0.9994710394434567,\n",
       "  0.9979467454569365,\n",
       "  0.9964686706418006,\n",
       "  0.9948836874903765,\n",
       "  0.9930445511630309,\n",
       "  0.9999577405638262,\n",
       "  0.9999055562414537,\n",
       "  0.9997837161189849,\n",
       "  0.9995844194000104,\n",
       "  0.9993915425619563,\n",
       "  0.9999705103386783,\n",
       "  0.9998963966655879,\n",
       "  0.9998099975995762,\n",
       "  0.9996050243633458,\n",
       "  0.9993856706157498,\n",
       "  0.9915347721578808,\n",
       "  0.9833064134733396,\n",
       "  0.9698927534977184,\n",
       "  0.9615540809099429,\n",
       "  0.9226223990959386,\n",
       "  0.9990281695823403,\n",
       "  0.9798954684745057,\n",
       "  0.687318386161649,\n",
       "  0.636003490970487,\n",
       "  0.6074828604311964,\n",
       "  0.9999383122622366,\n",
       "  0.9997369233954079,\n",
       "  0.9994662092872313,\n",
       "  0.9989906562362454,\n",
       "  0.9983000851279773,\n",
       "  0.9999369843350948,\n",
       "  0.9996022013324406,\n",
       "  0.9992984759577755,\n",
       "  0.9986369196069486,\n",
       "  0.9978576306676022,\n",
       "  0.999791741228427,\n",
       "  0.9992916144491757,\n",
       "  0.9988042973688245,\n",
       "  0.997784595892292,\n",
       "  0.9956635781794753,\n",
       "  0.9999390860955802,\n",
       "  0.9996023277278966,\n",
       "  0.9991522197414,\n",
       "  0.998439540521918,\n",
       "  0.9974484775255692,\n",
       "  0.9998781666399339,\n",
       "  0.9995083209626293,\n",
       "  0.9987924670296661,\n",
       "  0.07191064080934992,\n",
       "  0.07992725071798724,\n",
       "  0.052571708529183116,\n",
       "  0.052950095195301354,\n",
       "  0.057207614100875555,\n",
       "  0.05251624794984321,\n",
       "  0.057610512776637125,\n",
       "  0.9998591871882587,\n",
       "  0.9995883743092825,\n",
       "  0.9986914668898756,\n",
       "  0.9979508109535784,\n",
       "  0.9974720226549036,\n",
       "  0.9998578238039979,\n",
       "  0.9985758401184287,\n",
       "  0.11210302987379468,\n",
       "  0.11148537296589182,\n",
       "  0.11821076191497569,\n",
       "  0.9997805707555212,\n",
       "  0.9995347093357291,\n",
       "  0.9991926464840813,\n",
       "  0.9986727617249045,\n",
       "  0.9979215773225416,\n",
       "  0.9999723222581594,\n",
       "  0.9998241711797902,\n",
       "  0.9996476268302853,\n",
       "  0.9991762002377408,\n",
       "  0.9983967523252503,\n",
       "  0.9993387615628957,\n",
       "  0.9967600279809089,\n",
       "  0.9945371087213605,\n",
       "  0.9901198597876998,\n",
       "  0.9887914172642046,\n",
       "  0.9996274210864317,\n",
       "  0.997250648711557,\n",
       "  0.9956852918589316,\n",
       "  0.9908120626360148,\n",
       "  -0.8304464906914822,\n",
       "  0.9998490611419901,\n",
       "  0.9993055822144541,\n",
       "  0.9988882657591047,\n",
       "  0.9977477279329106,\n",
       "  0.9961377302928146,\n",
       "  0.9998549742159903,\n",
       "  0.9996214305082936,\n",
       "  0.9990366271517817,\n",
       "  0.9981455639728342,\n",
       "  0.9970113363629193,\n",
       "  0.9999498654836301,\n",
       "  0.999755718353498,\n",
       "  0.9991375255161576,\n",
       "  0.9987978770213463,\n",
       "  0.9866242799099376,\n",
       "  0.9999590306020063,\n",
       "  0.9997400208806212,\n",
       "  0.9995841504908157,\n",
       "  0.9992185453587832,\n",
       "  0.9985575849497418,\n",
       "  0.999916748779089,\n",
       "  0.9995202719270707,\n",
       "  0.9987300713925907,\n",
       "  0.9976885517282094,\n",
       "  0.9874486119432269,\n",
       "  0.9999221004439315,\n",
       "  0.9999068555609051,\n",
       "  0.9997426550620895,\n",
       "  0.9996683837021408,\n",
       "  0.9994678909536464,\n",
       "  0.9992184425841639,\n",
       "  0.9976684026648944,\n",
       "  0.995181668677234,\n",
       "  0.9928181062154492,\n",
       "  0.984692407414549,\n",
       "  0.9994585472754832,\n",
       "  0.2925199052655447,\n",
       "  -0.8144346263253838,\n",
       "  -0.7863510181962299,\n",
       "  -0.7629485342028017,\n",
       "  0.9995962162134057,\n",
       "  0.9982583739203075,\n",
       "  0.9963596303601491,\n",
       "  0.993197608970203,\n",
       "  0.9888588785982853,\n",
       "  0.9997812963674084,\n",
       "  0.998987937287467,\n",
       "  0.9977972620066183,\n",
       "  0.9963510979162757,\n",
       "  0.9945433649555344,\n",
       "  0.9999579472259172,\n",
       "  0.9998920659794178,\n",
       "  0.999779184953462,\n",
       "  0.9995912951002995,\n",
       "  0.9992233344555189,\n",
       "  0.9999707439036537,\n",
       "  0.9998676107507255,\n",
       "  0.9997372456123667,\n",
       "  0.9995358843342351,\n",
       "  0.9993045768867022,\n",
       "  0.9999371005563327,\n",
       "  0.9997313302685423,\n",
       "  0.9994690300565506,\n",
       "  0.9990202626432007,\n",
       "  0.9973275424198875,\n",
       "  0.9999582339542329,\n",
       "  0.9997765426843994,\n",
       "  0.999536309597477,\n",
       "  0.9992514842730195,\n",
       "  0.9985365546915023,\n",
       "  0.9999219070383283,\n",
       "  0.9995611023885118,\n",
       "  -0.5036534605006655,\n",
       "  -0.514027150932423,\n",
       "  -0.5242352714675946,\n",
       "  0.9999167381591547,\n",
       "  0.9995622718819176,\n",
       "  0.9991095097834208,\n",
       "  0.9984202454299163,\n",
       "  0.9976904421781287,\n",
       "  0.9994897064265391,\n",
       "  0.9992102399213937,\n",
       "  0.9989704002754061,\n",
       "  0.9986412296305037,\n",
       "  0.997120664544735,\n",
       "  0.9995017483990463,\n",
       "  0.9994335427239976,\n",
       "  0.9992498062818156,\n",
       "  0.9987183267474267,\n",
       "  0.9981610938980872,\n",
       "  0.9996292320346654,\n",
       "  0.9982288008537823,\n",
       "  0.9969241157331284,\n",
       "  0.9945379133478541,\n",
       "  0.9920994560553403,\n",
       "  0.9997849108803621,\n",
       "  0.9984680710316725,\n",
       "  0.9966641002036318,\n",
       "  0.9938215950063856,\n",
       "  0.9905532196301376,\n",
       "  0.9998994728857121,\n",
       "  0.9994819323522056,\n",
       "  0.998884434620527,\n",
       "  0.9978942277856414,\n",
       "  0.9967562305088946,\n",
       "  0.9998981377955186,\n",
       "  0.9994988680918079,\n",
       "  0.9989310770477776,\n",
       "  0.9980331390469666,\n",
       "  0.9969426820294099,\n",
       "  0.9985479516990021,\n",
       "  0.9949412907442763,\n",
       "  0.9899975922666376,\n",
       "  0.9828319947764187,\n",
       "  0.9689541332012125,\n",
       "  0.9989313192662927,\n",
       "  0.9948435639523976,\n",
       "  0.9874399265219148,\n",
       "  0.9767119849877949,\n",
       "  0.9636582135463072,\n",
       "  0.9995544940045298,\n",
       "  0.998789713957237,\n",
       "  0.9976588333640584,\n",
       "  0.996099815672066,\n",
       "  0.9914754887924844,\n",
       "  0.9998808414329485,\n",
       "  0.9992084033979896,\n",
       "  0.9982692739160368,\n",
       "  0.9968785835512451,\n",
       "  0.9950781623110869,\n",
       "  0.9997649475298019,\n",
       "  0.9985811477498389,\n",
       "  0.9970854645310284,\n",
       "  0.9938458460113276,\n",
       "  0.9898778102802804,\n",
       "  0.9995862033717415,\n",
       "  0.9987818868146235,\n",
       "  0.9972717709738705,\n",
       "  0.9946809248223474,\n",
       "  0.9933021333963805,\n",
       "  0.9987974973494053,\n",
       "  0.9975139786438275,\n",
       "  0.9958498898411765,\n",
       "  0.9936413004529503,\n",
       "  0.9878563103658551,\n",
       "  0.9997571299364434,\n",
       "  0.9986832437820834,\n",
       "  0.997248665269346,\n",
       "  0.9943673503088795,\n",
       "  0.9904598699868136],\n",
       " 'gamma correction': [0.4161356777394976,\n",
       "  0.4234296178860475,\n",
       "  0.4346493199891817,\n",
       "  0.4490206979871496,\n",
       "  0.4681229281546913,\n",
       "  0.9806140029357843,\n",
       "  0.9924834250983394,\n",
       "  0.9972648199987317,\n",
       "  0.9991553403011177,\n",
       "  0.999107687033836,\n",
       "  0.9980516311358554,\n",
       "  0.9959311788300268,\n",
       "  0.9927138230172351,\n",
       "  0.9882412114546348,\n",
       "  0.9848030280099066,\n",
       "  0.9801771145693988,\n",
       "  0.9736215910364158,\n",
       "  0.9660257984407503,\n",
       "  0.16970910801067615,\n",
       "  0.18981818482057902,\n",
       "  0.22736888882881423,\n",
       "  0.9930180594222532,\n",
       "  0.9954500708731603,\n",
       "  0.9972059111664763,\n",
       "  0.9984249629426794,\n",
       "  0.9992758216056288,\n",
       "  0.999810959541037,\n",
       "  0.999801101842454,\n",
       "  0.9992949010544967,\n",
       "  0.9985171051088981,\n",
       "  0.9974164729550236,\n",
       "  0.9961478056818655,\n",
       "  0.9946250924027705,\n",
       "  0.992911684903697,\n",
       "  0.990959060657801,\n",
       "  0.9888582939236729,\n",
       "  0.4921043366943915,\n",
       "  0.5009911048221706,\n",
       "  0.5123484376720762,\n",
       "  0.5271431740358492,\n",
       "  0.5441314301417715,\n",
       "  0.5618922051885077,\n",
       "  0.9698307166178186,\n",
       "  0.9791995224268225,\n",
       "  0.9900606027850664,\n",
       "  0.9850167093304103,\n",
       "  0.9328782675860265,\n",
       "  0.48137914913705676,\n",
       "  0.4626368301627032,\n",
       "  0.4393130611083707,\n",
       "  0.43217698328684473,\n",
       "  0.4308124025059111,\n",
       "  0.4257480450493284,\n",
       "  0.41776062095743505,\n",
       "  0.3403268520210533,\n",
       "  0.38469796226555897,\n",
       "  0.9699580353852612,\n",
       "  0.9826413551599252,\n",
       "  0.9889573141127816,\n",
       "  0.9933423151700497,\n",
       "  0.996253899959133,\n",
       "  0.9983367975167088,\n",
       "  0.9995059726249573,\n",
       "  0.9996103938841073,\n",
       "  0.998303513333682,\n",
       "  0.9961011683213612,\n",
       "  0.9925633573369106,\n",
       "  0.9877005076549717,\n",
       "  0.9815512273585206,\n",
       "  0.9735846069384773,\n",
       "  0.9631875413564196,\n",
       "  0.9503069072562133,\n",
       "  0.16688448686336171,\n",
       "  0.1703826913231904,\n",
       "  0.17714931813650445,\n",
       "  0.18811926226514072,\n",
       "  0.19462942856289578,\n",
       "  0.22166862902662093,\n",
       "  0.9972446068505046,\n",
       "  0.9988683757162119,\n",
       "  0.999723069755663,\n",
       "  0.9996935160264653,\n",
       "  0.9988574702369722,\n",
       "  0.9973869565319875,\n",
       "  0.9951575039414555,\n",
       "  0.9926188116649677,\n",
       "  0.9888265580336856,\n",
       "  0.9841673533342514,\n",
       "  0.9787561027088931,\n",
       "  0.9715920983494686,\n",
       "  0.9776486567796357,\n",
       "  0.9817800952031118,\n",
       "  0.98538875320039,\n",
       "  0.9888479804186936,\n",
       "  0.9918386074302991,\n",
       "  0.9945282578262474,\n",
       "  0.9967143789843356,\n",
       "  0.9984602594950708,\n",
       "  0.9995701617076352,\n",
       "  0.05420370676038497,\n",
       "  0.04831435189679032,\n",
       "  0.053439134605917,\n",
       "  0.05427445436721245,\n",
       "  0.057309175687191516,\n",
       "  0.06128669504208083,\n",
       "  0.06119744963896587,\n",
       "  0.06605566127393574,\n",
       "  0.06772142334013548,\n",
       "  0.9819394078796773,\n",
       "  0.9861173181334082,\n",
       "  0.9896283194901826,\n",
       "  0.9926048049847935,\n",
       "  0.9948615922127411,\n",
       "  0.9967322100897325,\n",
       "  0.9981753729076499,\n",
       "  0.9991687358635076,\n",
       "  0.9997684274610411,\n",
       "  0.9997681350359553,\n",
       "  0.07343435743758997,\n",
       "  0.0626731352352345,\n",
       "  0.06533590371137003,\n",
       "  0.06351763853798713,\n",
       "  0.05743913238267173,\n",
       "  0.061087426753819125,\n",
       "  0.05291618422232244,\n",
       "  0.05764061729540222,\n",
       "  0.1366518083441636,\n",
       "  0.14805492773067278,\n",
       "  0.16151331238594044,\n",
       "  0.17829526903856083,\n",
       "  0.19349943349479165,\n",
       "  0.20781897147397568,\n",
       "  0.9950625405180448,\n",
       "  0.9982086369256585,\n",
       "  0.9995493727516346,\n",
       "  0.9996829317176625,\n",
       "  0.9987026764613312,\n",
       "  0.9962848030597247,\n",
       "  0.9921224619033457,\n",
       "  0.982301440267481,\n",
       "  0.9648433553622553,\n",
       "  0.944557609929573,\n",
       "  0.9230892898376551,\n",
       "  -0.00564179468066823,\n",
       "  0.10466711204044567,\n",
       "  0.11567355943132901,\n",
       "  0.1296910376468707,\n",
       "  0.14237622038380868,\n",
       "  0.15740408085714294,\n",
       "  0.17146083435802487,\n",
       "  0.9957173239318822,\n",
       "  0.9982259730213991,\n",
       "  0.9994771299285329,\n",
       "  0.9995774679228913,\n",
       "  0.998627997607323,\n",
       "  0.9974456868867767,\n",
       "  0.9951443953318475,\n",
       "  0.9927729806251199,\n",
       "  0.9903288955674404,\n",
       "  0.9860784854528332,\n",
       "  0.9816784333086488,\n",
       "  0.977359786464613,\n",
       "  0.061053657504732996,\n",
       "  0.078750331958422,\n",
       "  0.10825167056390485,\n",
       "  0.9799834628021837,\n",
       "  0.9863920221453969,\n",
       "  0.9921634773157748,\n",
       "  0.995679792171359,\n",
       "  0.9979698878900775,\n",
       "  0.9994602795298918,\n",
       "  0.9995485340382922,\n",
       "  0.9980531896143192,\n",
       "  0.9956545183066504,\n",
       "  0.9921260491369098,\n",
       "  0.9871985195303964,\n",
       "  0.9822774623083307,\n",
       "  0.9762919407703818,\n",
       "  0.969746406795843,\n",
       "  -0.8932644515994063,\n",
       "  0.1320231873371206,\n",
       "  0.1451835184059732,\n",
       "  0.17996548514292268,\n",
       "  0.8186874493852448,\n",
       "  0.8768460510926899,\n",
       "  0.9509721963858127,\n",
       "  0.9899539616285281,\n",
       "  0.9988582825222119,\n",
       "  0.9999095671963358,\n",
       "  0.9996171654299055,\n",
       "  0.9992919160486434,\n",
       "  0.9993077187874959,\n",
       "  0.9987721320719516,\n",
       "  0.998223614888534,\n",
       "  0.9977253517183765,\n",
       "  0.9971075660570665,\n",
       "  0.99650743737002,\n",
       "  0.9959333031393384,\n",
       "  0.048395881265506306,\n",
       "  0.05114055484327628,\n",
       "  0.05444410352747614,\n",
       "  0.056638404875380764,\n",
       "  -0.9673229177826945,\n",
       "  0.9992956727355808,\n",
       "  0.9996501624605632,\n",
       "  0.9998102677580885,\n",
       "  0.9999480604899909,\n",
       "  0.999961203787552,\n",
       "  0.9998267756214689,\n",
       "  0.9996785476448647,\n",
       "  0.9994202902408376,\n",
       "  0.9990148662755783,\n",
       "  0.998747079473885,\n",
       "  0.9980709036120523,\n",
       "  0.997568918660845,\n",
       "  0.9964949965842899,\n",
       "  0.1681194133347075,\n",
       "  0.17134539580406635,\n",
       "  0.17545817692737592,\n",
       "  0.1809365067522649,\n",
       "  0.18783976573728303,\n",
       "  0.19675122213582252,\n",
       "  0.2779823406151621,\n",
       "  0.3612642667328611,\n",
       "  0.9997926454324197,\n",
       "  0.9998416096065242,\n",
       "  0.9991206570815098,\n",
       "  0.9982991016543578,\n",
       "  0.9965795743862882,\n",
       "  0.9948290200186348,\n",
       "  0.9915392346462961,\n",
       "  0.9891975551754953,\n",
       "  0.9847880421354609,\n",
       "  0.9810766300672825,\n",
       "  0.4022437432858907,\n",
       "  0.44120270790624555,\n",
       "  0.8989294141481095,\n",
       "  0.9474044925365932,\n",
       "  0.9689783129716288,\n",
       "  0.9822443795855503,\n",
       "  0.9907908096245633,\n",
       "  0.9959787473729046,\n",
       "  0.9990219773883675,\n",
       "  0.9991788930862754,\n",
       "  0.9971645901502401,\n",
       "  0.9940746421396748,\n",
       "  0.9903373965827638,\n",
       "  0.9851763234844962,\n",
       "  0.9802747881770975,\n",
       "  0.9745746172802839,\n",
       "  0.9690355488190046,\n",
       "  0.962499860432952,\n",
       "  0.27329577648317604,\n",
       "  0.9563898138608957,\n",
       "  0.9730003536799425,\n",
       "  0.982367525723823,\n",
       "  0.9888428224557165,\n",
       "  0.99352178807277,\n",
       "  0.996581157057622,\n",
       "  0.9986399745171439,\n",
       "  0.9996842497487297,\n",
       "  0.99967858377326,\n",
       "  0.9988541385036869,\n",
       "  0.9977466279982958,\n",
       "  0.996245149862858,\n",
       "  0.9945223308235526,\n",
       "  0.9926293154228015,\n",
       "  0.9906558023733668,\n",
       "  0.9886641399746262,\n",
       "  0.9868506337142361,\n",
       "  0.07628778706067633,\n",
       "  0.08206418320339358,\n",
       "  0.08941698031482628,\n",
       "  0.09828607704605033,\n",
       "  0.11054428290314477,\n",
       "  0.12370221247952459,\n",
       "  0.14249577332235297,\n",
       "  0.9994065690869524,\n",
       "  0.9998536804122581,\n",
       "  0.999828621925695,\n",
       "  0.9994578104916471,\n",
       "  0.9989136821586072,\n",
       "  0.998070394601352,\n",
       "  0.9968835450455591,\n",
       "  0.9956405425716838,\n",
       "  0.9943433286345106,\n",
       "  0.9925636972928078,\n",
       "  0.9909777796028353,\n",
       "  0.05546218696764337,\n",
       "  0.07918674351138569,\n",
       "  -0.6695721748317875,\n",
       "  -0.626682055104572,\n",
       "  -0.5901854544578864,\n",
       "  -0.558829211418339,\n",
       "  -0.5327367382168766,\n",
       "  -0.5108362392912859,\n",
       "  0.9996348968968192,\n",
       "  0.9997411913200818,\n",
       "  0.9990071824929407,\n",
       "  0.9978929336415792,\n",
       "  0.9966668075773047,\n",
       "  0.9951803197801902,\n",
       "  0.9935470167195437,\n",
       "  0.9916263470207306,\n",
       "  0.9898414457462111,\n",
       "  0.9880057067108384,\n",
       "  0.08725989405279522,\n",
       "  0.09228367831953418,\n",
       "  0.09955084078608077,\n",
       "  0.1072868935171077,\n",
       "  0.11846773269167676,\n",
       "  0.1345741522098363,\n",
       "  0.17270910067087195,\n",
       "  0.9839429501975032,\n",
       "  0.9958938433771569,\n",
       "  0.9982694716779691,\n",
       "  0.9930632697282078,\n",
       "  0.9875765373699318,\n",
       "  0.981627045057791,\n",
       "  0.9754733414352017,\n",
       "  0.9688022282557792,\n",
       "  0.9635592893646739,\n",
       "  0.957929777262908,\n",
       "  0.9525775243597241,\n",
       "  0.3365851328947379,\n",
       "  0.3738842167520603,\n",
       "  0.42217593781404456,\n",
       "  0.9624677224898448,\n",
       "  0.9756242348365589,\n",
       "  0.9854206119933254,\n",
       "  0.9919204685621451,\n",
       "  0.9962616326278779,\n",
       "  0.9990265459983124,\n",
       "  0.999073545461019,\n",
       "  0.9964074370757086,\n",
       "  0.9920906927504518,\n",
       "  0.9859834431044251,\n",
       "  0.9778288875769295,\n",
       "  0.968561259378913,\n",
       "  0.9574074818574563,\n",
       "  0.9444965695688857,\n",
       "  0.9287113663959667,\n",
       "  0.2782691518966987,\n",
       "  0.9547775681784013,\n",
       "  0.9706987209859282,\n",
       "  0.9799378017176341,\n",
       "  0.9869806702614919,\n",
       "  0.9918723432837505,\n",
       "  0.9954936125567723,\n",
       "  0.9978774365904018,\n",
       "  0.999473181724761,\n",
       "  0.9994786097439848,\n",
       "  0.9979433546483043,\n",
       "  0.994883201105141,\n",
       "  0.9913609314092986,\n",
       "  0.9860157371250031,\n",
       "  0.9801074688451705,\n",
       "  0.9736054451505638,\n",
       "  0.9680443114892512,\n",
       "  0.9610523281876688,\n",
       "  0.473866640124713,\n",
       "  0.49064098874418294,\n",
       "  0.5121577339499789,\n",
       "  0.5384960637514525,\n",
       "  0.9584209437725921,\n",
       "  0.9797930606797522,\n",
       "  0.9893134714829772,\n",
       "  0.99530916430778,\n",
       "  0.9987905185543757,\n",
       "  0.9989241917914982,\n",
       "  0.9953834725058847,\n",
       "  0.9915611132490915,\n",
       "  0.9837837038953405,\n",
       "  0.9730541891706863,\n",
       "  0.9552904989731978,\n",
       "  0.9393814776169588,\n",
       "  0.9106493279594284,\n",
       "  0.8372595459045334,\n",
       "  0.4893749310884126,\n",
       "  0.510556448852935,\n",
       "  0.5423268683228283,\n",
       "  0.9517469378548564,\n",
       "  0.9751816681835415,\n",
       "  0.9876655944477056,\n",
       "  0.9933170695558449,\n",
       "  0.9973765758622913,\n",
       "  0.9992670614345418,\n",
       "  0.9997048615978549,\n",
       "  0.9984276721227664,\n",
       "  0.9964710748871615,\n",
       "  0.9939394506402345,\n",
       "  0.9905849724597884,\n",
       "  0.9872167441456434,\n",
       "  0.9840302802837048,\n",
       "  0.98006378558935,\n",
       "  0.9761180037109489,\n",
       "  0.28373429910298725,\n",
       "  0.3072407012673058,\n",
       "  0.3395567127556946,\n",
       "  0.9608165350804853,\n",
       "  0.9782347186055362,\n",
       "  0.9880078920291152,\n",
       "  0.9938293934141343,\n",
       "  0.9975588443187792,\n",
       "  0.9994549243602382,\n",
       "  0.9993534983336988,\n",
       "  0.9977180753628871,\n",
       "  0.9957980598042643,\n",
       "  0.9926179047019936,\n",
       "  0.9898980469997051,\n",
       "  0.9866146298808739,\n",
       "  0.9830830378718668,\n",
       "  0.9795397237529272,\n",
       "  0.9752967371028161,\n",
       "  0.30983274306182323,\n",
       "  0.32692118793484654,\n",
       "  0.3553262527332296,\n",
       "  0.9832659706540434,\n",
       "  0.9875134742539787,\n",
       "  0.9916892680595235,\n",
       "  0.9950625289712184,\n",
       "  0.9976643685568671,\n",
       "  0.9992940451836406,\n",
       "  0.9995461644926222,\n",
       "  0.998078276786601,\n",
       "  0.9956637564665816,\n",
       "  0.9922495243464996,\n",
       "  0.9880258134911053,\n",
       "  0.982642782035855,\n",
       "  0.9773874155231194,\n",
       "  0.9700535120252445,\n",
       "  0.9641379400614902],\n",
       " 'gaussian': [0.451145897104336,\n",
       "  0.451145897104336,\n",
       "  0.451145897104336,\n",
       "  0.451145897104336,\n",
       "  0.451145897104336,\n",
       "  0.451145897104336,\n",
       "  0.9921616599575607,\n",
       "  0.9921616599575607,\n",
       "  0.9921616599575607,\n",
       "  0.9921616599575607,\n",
       "  0.9921616599575607,\n",
       "  0.9921616599575607,\n",
       "  0.5289411265130588,\n",
       "  0.5289411265130588,\n",
       "  0.5289411265130588,\n",
       "  0.5289411265130588,\n",
       "  0.5289411265130588,\n",
       "  0.5289411265130588,\n",
       "  0.9925205394012031,\n",
       "  0.9925205394012031,\n",
       "  0.9925205394012031,\n",
       "  0.9925205394012031,\n",
       "  0.9925205394012031,\n",
       "  0.9925205394012031,\n",
       "  0.21755665207827818,\n",
       "  0.21755665207827818,\n",
       "  0.21755665207827818,\n",
       "  0.21755665207827818,\n",
       "  0.21755665207827818,\n",
       "  0.21755665207827818,\n",
       "  0.9961096567479377,\n",
       "  0.9961096567479377,\n",
       "  0.9961096567479377,\n",
       "  0.9961096567479377,\n",
       "  0.9961096567479377,\n",
       "  0.9961096567479377,\n",
       "  0.9957199553545079,\n",
       "  0.9957199553545079,\n",
       "  0.9957199553545079,\n",
       "  0.9957199553545079,\n",
       "  0.9957199553545079,\n",
       "  0.9957199553545079,\n",
       "  0.15351186333969133,\n",
       "  0.15351186333969133,\n",
       "  0.15351186333969133,\n",
       "  0.15351186333969133,\n",
       "  0.15351186333969133,\n",
       "  0.15351186333969133,\n",
       "  0.1858967602070999,\n",
       "  0.1858967602070999,\n",
       "  0.1858967602070999,\n",
       "  0.1858967602070999,\n",
       "  0.1858967602070999,\n",
       "  0.1858967602070999,\n",
       "  0.12327554650898069,\n",
       "  0.12327554650898069,\n",
       "  0.12327554650898069,\n",
       "  0.12327554650898069,\n",
       "  0.12327554650898069,\n",
       "  0.12327554650898069,\n",
       "  0.9579185866678924,\n",
       "  0.9579185866678924,\n",
       "  0.9579185866678924,\n",
       "  0.9579185866678924,\n",
       "  0.9579185866678924,\n",
       "  0.9579185866678924,\n",
       "  -0.9428858178136708,\n",
       "  -0.9428858178136708,\n",
       "  -0.9428858178136708,\n",
       "  -0.9428858178136708,\n",
       "  -0.9428858178136708,\n",
       "  -0.9428858178136708,\n",
       "  0.21778067562354897,\n",
       "  0.21778067562354897,\n",
       "  0.21778067562354897,\n",
       "  0.21778067562354897,\n",
       "  0.21778067562354897,\n",
       "  0.21778067562354897,\n",
       "  0.9670373205373838,\n",
       "  0.9670373205373838,\n",
       "  0.9670373205373838,\n",
       "  0.9670373205373838,\n",
       "  0.9670373205373838,\n",
       "  0.9670373205373838,\n",
       "  0.991434948728277,\n",
       "  0.991434948728277,\n",
       "  0.991434948728277,\n",
       "  0.991434948728277,\n",
       "  0.991434948728277,\n",
       "  0.991434948728277,\n",
       "  0.1346750473848159,\n",
       "  0.1346750473848159,\n",
       "  0.1346750473848159,\n",
       "  0.1346750473848159,\n",
       "  0.1346750473848159,\n",
       "  0.1346750473848159,\n",
       "  0.9904432287019461,\n",
       "  0.9904432287019461,\n",
       "  0.9904432287019461,\n",
       "  0.9904432287019461,\n",
       "  0.9904432287019461,\n",
       "  0.9904432287019461,\n",
       "  0.11516949423103816,\n",
       "  0.11516949423103816,\n",
       "  0.11516949423103816,\n",
       "  0.11516949423103816,\n",
       "  0.11516949423103816,\n",
       "  0.11516949423103816,\n",
       "  0.9800036403862753,\n",
       "  0.9800036403862753,\n",
       "  0.9800036403862753,\n",
       "  0.9800036403862753,\n",
       "  0.9800036403862753,\n",
       "  0.9800036403862753,\n",
       "  0.995097094997696,\n",
       "  0.995097094997696,\n",
       "  0.995097094997696,\n",
       "  0.995097094997696,\n",
       "  0.995097094997696,\n",
       "  0.995097094997696,\n",
       "  0.5702106570001388,\n",
       "  0.5702106570001388,\n",
       "  0.5702106570001388,\n",
       "  0.5702106570001388,\n",
       "  0.5702106570001388,\n",
       "  0.5702106570001388,\n",
       "  0.9874428516463316,\n",
       "  0.9874428516463316,\n",
       "  0.9874428516463316,\n",
       "  0.9874428516463316,\n",
       "  0.9874428516463316,\n",
       "  0.9874428516463316,\n",
       "  0.9593595002320495,\n",
       "  0.9593595002320495,\n",
       "  0.9593595002320495,\n",
       "  0.9593595002320495,\n",
       "  0.9593595002320495,\n",
       "  0.9593595002320495,\n",
       "  0.9935615860844693,\n",
       "  0.9935615860844693,\n",
       "  0.9935615860844693,\n",
       "  0.9935615860844693,\n",
       "  0.9935615860844693,\n",
       "  0.9935615860844693],\n",
       " 'jpeg': [0.9792069398490651,\n",
       "  0.9963949485088481,\n",
       "  0.9790990597551793,\n",
       "  0.9716877671965553,\n",
       "  0.9269724669048656,\n",
       "  0.992561170711623,\n",
       "  0.9722029340325936,\n",
       "  0.9970316810661761,\n",
       "  0.9870930047658218,\n",
       "  0.9961212622216916,\n",
       "  0.9948498786050949,\n",
       "  0.9993861690694613,\n",
       "  0.9948490002617848,\n",
       "  0.9959126206946614,\n",
       "  0.9942497873307209,\n",
       "  0.9986325714213771,\n",
       "  0.9984477238800751,\n",
       "  0.9992648659043102,\n",
       "  0.9994300326068408,\n",
       "  0.9993855507539158,\n",
       "  0.38648184305127486,\n",
       "  0.9927462830829652,\n",
       "  0.38576668060634406,\n",
       "  0.44263634981479383,\n",
       "  0.9556070720558161,\n",
       "  0.9686498583986193,\n",
       "  0.9930273696091146,\n",
       "  0.9890839944784757,\n",
       "  0.9920735907784406,\n",
       "  0.9922981328241778,\n",
       "  0.979940017942173,\n",
       "  0.9993106099377869,\n",
       "  0.979917275790412,\n",
       "  0.9818108930102162,\n",
       "  0.9907376360546636,\n",
       "  0.9945389904860787,\n",
       "  0.9971747299418922,\n",
       "  0.9977011246411291,\n",
       "  0.9989661616448592,\n",
       "  0.9986621577157511,\n",
       "  0.9723067848446408,\n",
       "  0.997715419674257,\n",
       "  0.9725799071969904,\n",
       "  0.1892344193569851,\n",
       "  0.9938214300267685,\n",
       "  0.9959432088401996,\n",
       "  0.9970801065800772,\n",
       "  0.9959441387646144,\n",
       "  0.9978032480052828,\n",
       "  0.9972736910485349,\n",
       "  0.07976570530348244,\n",
       "  0.9993300716708126,\n",
       "  0.07976417940634403,\n",
       "  0.09011394484510432,\n",
       "  0.08563267621937024,\n",
       "  0.08682788253585733,\n",
       "  0.07751747519814939,\n",
       "  0.06085284595635854,\n",
       "  0.07405747963432191,\n",
       "  0.9995042641067658,\n",
       "  0.13678260869590955,\n",
       "  0.99962748840789,\n",
       "  0.13680341373142263,\n",
       "  0.1356655572534144,\n",
       "  0.9978669078481199,\n",
       "  0.9990397741199805,\n",
       "  0.9992991601878324,\n",
       "  0.9991166555559908,\n",
       "  0.9993953908621782,\n",
       "  0.9995069686780061,\n",
       "  0.95315319858107,\n",
       "  0.9977943744764879,\n",
       "  0.9527209845104078,\n",
       "  0.9627084559248276,\n",
       "  0.9912766819358331,\n",
       "  0.9935128344235494,\n",
       "  0.9964921441922171,\n",
       "  0.9963391388230853,\n",
       "  0.1915796823008386,\n",
       "  0.18786019979704355,\n",
       "  0.9707990711506214,\n",
       "  0.9985930850920696,\n",
       "  0.9738676370757876,\n",
       "  0.973249253484356,\n",
       "  0.9953145486809787,\n",
       "  0.9870804294299271,\n",
       "  0.9964220413721602,\n",
       "  0.9982275022207941,\n",
       "  0.9960439229106957,\n",
       "  0.9963425755273828,\n",
       "  0.9965807708130874,\n",
       "  0.9995163913941816,\n",
       "  0.9965914942066354,\n",
       "  0.9957912885919877,\n",
       "  0.9969034984297943,\n",
       "  0.9976294491040145,\n",
       "  0.9988110255143371,\n",
       "  0.9988923428727781,\n",
       "  0.999271299918027,\n",
       "  0.9992610761735456,\n",
       "  0.994948996196701,\n",
       "  0.9976275953943013,\n",
       "  0.9949865016048944,\n",
       "  0.9956951657556102,\n",
       "  0.9969092688499136,\n",
       "  0.998731718126684,\n",
       "  0.9955273970717197,\n",
       "  0.9994373240084565,\n",
       "  0.9992611097046344,\n",
       "  0.9987247856507296,\n",
       "  -0.943691277256349,\n",
       "  0.999204126754199,\n",
       "  -0.9437895662234962,\n",
       "  -0.9447656152115953,\n",
       "  0.9948359890898766,\n",
       "  -0.9670740234136234,\n",
       "  0.9988296255936799,\n",
       "  0.9988907175096877,\n",
       "  0.9996195989954806,\n",
       "  0.9995894788039875,\n",
       "  0.9496192170179112,\n",
       "  0.9985046137096234,\n",
       "  0.9496352884082115,\n",
       "  0.9618978958003995,\n",
       "  0.9867030299147458,\n",
       "  0.9972136060034366,\n",
       "  0.4231197379815866,\n",
       "  0.9970250391725335,\n",
       "  0.9963179641300829,\n",
       "  0.9966463932986261,\n",
       "  0.9838562429529952,\n",
       "  0.9975097748084282,\n",
       "  0.9839041922406033,\n",
       "  0.9821114431811423,\n",
       "  0.9928226166987945,\n",
       "  0.9956195361039882,\n",
       "  0.9957724281504402,\n",
       "  0.9981408534322488,\n",
       "  0.9972838555234403,\n",
       "  0.9986505760598662,\n",
       "  0.998950396286087,\n",
       "  0.9991959094493658,\n",
       "  0.9989524236909605,\n",
       "  0.9989693360999676,\n",
       "  0.9977715572849297,\n",
       "  0.998236827117552,\n",
       "  0.9991389769000288,\n",
       "  0.9993119269583661,\n",
       "  0.9986357907255227,\n",
       "  0.9990469034838337,\n",
       "  0.9910396131537391,\n",
       "  0.9994264052703388,\n",
       "  0.9910376195820747,\n",
       "  0.9911820355053863,\n",
       "  0.9861008972355781,\n",
       "  0.9929848652599818,\n",
       "  0.9965181838681609,\n",
       "  0.9979993031828895,\n",
       "  0.9989400678151994,\n",
       "  0.9990719810127086,\n",
       "  0.9956560271441779,\n",
       "  0.9992816335580644,\n",
       "  0.9956337774954127,\n",
       "  0.9964605938125451,\n",
       "  0.998966576485706,\n",
       "  0.9989883679959288,\n",
       "  0.9991416354232006,\n",
       "  0.9992875877517515,\n",
       "  0.9993454649345507,\n",
       "  0.9993864112055488,\n",
       "  0.8331069237266331,\n",
       "  0.9919028994246749,\n",
       "  0.8327691909896529,\n",
       "  0.8725491981315798,\n",
       "  0.9816446570048971,\n",
       "  0.9898911065218511,\n",
       "  0.9846779137341766,\n",
       "  0.9936196485365187,\n",
       "  0.9931008941158704,\n",
       "  0.9948193027056796,\n",
       "  0.9541274083272097,\n",
       "  0.996869469385877,\n",
       "  0.952650301390871,\n",
       "  0.9546463788056976,\n",
       "  0.9910737465552784,\n",
       "  0.9958180516129642,\n",
       "  0.9927325143069703,\n",
       "  0.9967457150741441,\n",
       "  0.9971012875481995,\n",
       "  0.9965015730924673,\n",
       "  0.9982056231067565,\n",
       "  0.9993724492324544,\n",
       "  0.9982102969982303,\n",
       "  0.9981865250726731,\n",
       "  0.9985871241471171,\n",
       "  0.999168405695478,\n",
       "  0.9994276413282087,\n",
       "  0.9991155476005472,\n",
       "  0.999431175886055,\n",
       "  0.9992603547852058,\n",
       "  0.8090764683610027,\n",
       "  0.9959088593532952,\n",
       "  0.8089728186673791,\n",
       "  0.8128683892863392,\n",
       "  0.9026889919522325,\n",
       "  0.9763275935777787,\n",
       "  0.988892613993258,\n",
       "  0.9941254443715631,\n",
       "  0.9899904283459656,\n",
       "  0.9920086141095115,\n",
       "  0.9844170858020722,\n",
       "  0.9981896732515447,\n",
       "  0.9844079119901921,\n",
       "  0.9838710611726886,\n",
       "  0.9944731788710178,\n",
       "  0.9979905204204833,\n",
       "  0.9947622387146143,\n",
       "  0.9976069116270103,\n",
       "  0.9971341702245845,\n",
       "  0.9978392667291539,\n",
       "  0.9241365968375519,\n",
       "  0.9976356000760781,\n",
       "  0.9241948317696755,\n",
       "  0.9300569799470303,\n",
       "  0.9816475159467187,\n",
       "  0.9939324885189709,\n",
       "  0.9897438333314463,\n",
       "  0.9981471104299218,\n",
       "  0.9960088900834578,\n",
       "  0.9970817473582446,\n",
       "  0.9866031498434203,\n",
       "  0.9981682090751655,\n",
       "  0.9865764916962151,\n",
       "  0.9854788101487666,\n",
       "  0.9948500329024633,\n",
       "  0.994333992393154,\n",
       "  0.9959727769503179,\n",
       "  0.9968478083486821,\n",
       "  0.9971933739706204,\n",
       "  0.9971392594100384],\n",
       " 'rotation': [0.9985330841225416,\n",
       "  0.998597539419611,\n",
       "  0.9974824805384378,\n",
       "  0.998647342580573,\n",
       "  0.9975357707811704,\n",
       "  0.9987239097672893,\n",
       "  0.9986210567603336,\n",
       "  0.997985856016804,\n",
       "  0.998383365540151,\n",
       "  0.9986649600115831,\n",
       "  0.9985269751813991,\n",
       "  0.9985539744505959,\n",
       "  0.9985722697528688,\n",
       "  0.9965074623597948,\n",
       "  0.998324011381318,\n",
       "  0.9952933460933016,\n",
       "  0.9994436966530543,\n",
       "  0.9992824939335542,\n",
       "  0.999398472378184,\n",
       "  0.9991469731826665,\n",
       "  0.9983400599780082,\n",
       "  0.9994638758839051,\n",
       "  0.9989794612743524,\n",
       "  0.9981228437369322,\n",
       "  0.9994007451304073,\n",
       "  0.999625838090933,\n",
       "  0.9995845481491942,\n",
       "  0.9996503061044111,\n",
       "  0.9996131026392693,\n",
       "  0.9995820864698316,\n",
       "  0.9996557335842923,\n",
       "  0.999002375612961,\n",
       "  0.995289473840392,\n",
       "  0.9952555107257487,\n",
       "  0.9934388356162916,\n",
       "  0.9960208726563526,\n",
       "  0.9965322318359692,\n",
       "  0.9954023859426151,\n",
       "  0.9961764992988614,\n",
       "  0.9966751763450861,\n",
       "  0.9914356589208788,\n",
       "  0.9932302916126454,\n",
       "  0.9932006752998382,\n",
       "  0.994307501843042,\n",
       "  0.9931524745951953,\n",
       "  0.9946099373276296,\n",
       "  0.9958220714181762,\n",
       "  0.9953501949593129,\n",
       "  0.9991165358233463,\n",
       "  0.9985672496955803,\n",
       "  0.9991988555146543,\n",
       "  0.9989562417003086,\n",
       "  0.9991647878321537,\n",
       "  0.9992185899196201,\n",
       "  0.9990858795548132,\n",
       "  0.9987271648096238,\n",
       "  0.9994085978107355,\n",
       "  0.9992653215606677,\n",
       "  0.999454030510735,\n",
       "  0.9992806713849715,\n",
       "  0.9993049052941999,\n",
       "  0.9992110002016645,\n",
       "  0.9993870017781565,\n",
       "  0.9989752788862687,\n",
       "  0.9862113098695136,\n",
       "  0.9861302774210878,\n",
       "  0.9834478838894072,\n",
       "  0.9853025449162651,\n",
       "  0.9832971601260484,\n",
       "  0.9863513039449805,\n",
       "  0.9848969878772375,\n",
       "  0.9839148148270089,\n",
       "  0.9887308741121736,\n",
       "  0.9898592993109098,\n",
       "  0.9900982047268131,\n",
       "  0.9909745008966576,\n",
       "  0.9908305765716533,\n",
       "  0.9828264182048273,\n",
       "  0.9880545562214043,\n",
       "  0.9790436012546249,\n",
       "  0.9996808158291068,\n",
       "  0.9997256930921379,\n",
       "  0.999513602067444,\n",
       "  0.9997297573104744,\n",
       "  0.9995180733013153,\n",
       "  0.9997451721164666,\n",
       "  0.9997444458248116,\n",
       "  0.9996069964706787,\n",
       "  0.999744889774218,\n",
       "  0.9997801013334234,\n",
       "  0.9997781938498975,\n",
       "  0.9997779257632978,\n",
       "  0.9997816147200878,\n",
       "  0.9996564747959986,\n",
       "  0.9997632530554832,\n",
       "  0.9996117482993652,\n",
       "  0.9990416575725147,\n",
       "  0.9991637556278,\n",
       "  0.9985803165320815,\n",
       "  0.9990990054807635,\n",
       "  0.9983881982418861,\n",
       "  0.9991669518579114,\n",
       "  0.9991177979460888,\n",
       "  0.9985915096370228,\n",
       "  0.9992259329932027,\n",
       "  0.9992761082357056,\n",
       "  0.9993198440999144,\n",
       "  0.9991509168623416,\n",
       "  0.9992565279733951,\n",
       "  0.9982678629345054,\n",
       "  0.998922578675569,\n",
       "  0.9979481329743448,\n",
       "  0.9971865683661163,\n",
       "  0.9973338576375829,\n",
       "  0.9958967558493664,\n",
       "  0.9970346970740911,\n",
       "  0.9943987574831328,\n",
       "  0.9977214683652853,\n",
       "  0.9971433338533041,\n",
       "  0.9945260895956842,\n",
       "  0.9985343439736586,\n",
       "  0.998879639856252,\n",
       "  0.9987279546866391,\n",
       "  0.9987225297305539,\n",
       "  0.9983804458032287,\n",
       "  0.9951628524619205,\n",
       "  0.9978367813276946,\n",
       "  0.9925997537873542,\n",
       "  0.9988261764424485,\n",
       "  0.9978960197734219,\n",
       "  0.9991168052709191,\n",
       "  0.9986805034674777,\n",
       "  0.9990156670278589,\n",
       "  0.999050781022389,\n",
       "  0.9988221347593473,\n",
       "  0.9981095395698263,\n",
       "  0.9995042157152676,\n",
       "  0.9992029394837392,\n",
       "  0.9995694716800236,\n",
       "  0.9991521072315712,\n",
       "  0.9994607510943205,\n",
       "  0.9993431420330003,\n",
       "  0.9992327165040505,\n",
       "  0.9991414048257842,\n",
       "  0.9992757117908554,\n",
       "  0.9985674076466416,\n",
       "  0.9995871732546293,\n",
       "  0.9988610305662566,\n",
       "  0.9994876272366148,\n",
       "  0.9993206738516848,\n",
       "  0.9991052357233099,\n",
       "  0.9986643175312481,\n",
       "  0.9999295563084548,\n",
       "  0.999585177665394,\n",
       "  0.9999547675343473,\n",
       "  0.9999514190028316,\n",
       "  0.9995288063568062,\n",
       "  0.9999165154212285,\n",
       "  0.9999599403559598,\n",
       "  0.9999198198868327,\n",
       "  0.9989783160919693,\n",
       "  0.9986987428219811,\n",
       "  0.9987306289433963,\n",
       "  0.9987402819069544,\n",
       "  0.9981273205654602,\n",
       "  0.9987365806130512,\n",
       "  0.9987233047807618,\n",
       "  0.9982048384088889,\n",
       "  0.9988412568639915,\n",
       "  0.9991294491762865,\n",
       "  0.9990634130398758,\n",
       "  0.9991481062423121,\n",
       "  0.9991061381037749,\n",
       "  0.9991720386147994,\n",
       "  0.9993367748918025,\n",
       "  0.9987990565796926,\n",
       "  0.9994990461787036,\n",
       "  0.9995585295400549,\n",
       "  0.999231075189651,\n",
       "  0.999522248941596,\n",
       "  0.9989307929132812,\n",
       "  0.9995977748085091,\n",
       "  0.9995332643516663,\n",
       "  0.9990638539089243,\n",
       "  0.9997613405103557,\n",
       "  0.9998227805850716,\n",
       "  0.9998192331430594,\n",
       "  0.9998427087858199,\n",
       "  0.9998397944981475,\n",
       "  0.9996564159874854,\n",
       "  0.9998275626364306,\n",
       "  0.9995347609551927,\n",
       "  0.9988747752243108,\n",
       "  0.998996341160936,\n",
       "  0.9977855741332741,\n",
       "  0.9990086749871273,\n",
       "  0.9975445537183221,\n",
       "  0.9990935402696504,\n",
       "  0.9990590643121694,\n",
       "  0.9977971664775441,\n",
       "  0.9990021276220353,\n",
       "  0.9992889871237441,\n",
       "  0.9992786463707878,\n",
       "  0.999111345631715,\n",
       "  0.9991843133424112,\n",
       "  0.9973508052131281,\n",
       "  0.9987869938657624,\n",
       "  0.996892273818614,\n",
       "  0.99770232493866,\n",
       "  0.9979576944571338,\n",
       "  0.996845604491816,\n",
       "  0.9978261118222788,\n",
       "  0.9962279641661984,\n",
       "  0.9982280882285827,\n",
       "  0.9979613281920612,\n",
       "  0.9965229092943128,\n",
       "  0.9984808598861934,\n",
       "  0.9987934606222774,\n",
       "  0.9987436443057934,\n",
       "  0.9992743728947385,\n",
       "  0.999256929062599,\n",
       "  0.9988297738340375,\n",
       "  0.9992411547646887,\n",
       "  0.9986313023465473,\n",
       "  0.9989684537125898,\n",
       "  0.9988701950461528,\n",
       "  0.9989176405557536,\n",
       "  0.9988652991300676,\n",
       "  0.9987799711102242,\n",
       "  0.998916933568217,\n",
       "  0.9987833895515043,\n",
       "  0.9986580647485568,\n",
       "  0.9990546036041215,\n",
       "  0.9990030922836428,\n",
       "  0.9990486247380158,\n",
       "  0.9989458241712462,\n",
       "  0.998959764759558,\n",
       "  0.9986271710910477,\n",
       "  0.9988136978427227,\n",
       "  0.9983179997467895,\n",
       "  0.9997502814654794,\n",
       "  0.9997650225555844,\n",
       "  0.9995093311074629,\n",
       "  0.9997762269539888,\n",
       "  0.9995470968426801,\n",
       "  0.9998057368247288,\n",
       "  0.9997838946210775,\n",
       "  0.9995805831038286,\n",
       "  0.9997917157824092,\n",
       "  0.999847129157431,\n",
       "  0.9998298621706749,\n",
       "  0.9998645815951395,\n",
       "  0.9998530465767461,\n",
       "  0.9995285791282186,\n",
       "  0.9997784802309853,\n",
       "  0.9994355950632017,\n",
       "  0.9992927856045478,\n",
       "  0.9990196945856149,\n",
       "  0.9993270456487323,\n",
       "  0.9991402942041328,\n",
       "  0.999300435756143,\n",
       "  0.9993025930356089,\n",
       "  0.9992441699918684,\n",
       "  0.9990797223654403,\n",
       "  0.99934285330504,\n",
       "  0.9993334108326961,\n",
       "  0.9993908287263765,\n",
       "  0.9993435727499199,\n",
       "  0.9992689877143988,\n",
       "  0.9991957552893291,\n",
       "  0.9993763332436604,\n",
       "  0.9988998470341116,\n",
       "  0.9987248257511692,\n",
       "  0.9968087977928906,\n",
       "  0.9985841911858895,\n",
       "  0.9982180010088187,\n",
       "  0.9986960680713349,\n",
       "  0.998861136093364,\n",
       "  0.9984920785907032,\n",
       "  0.9977726565095166,\n",
       "  0.9986377408809852,\n",
       "  0.9989885405123362,\n",
       "  0.9989636007825705,\n",
       "  0.9991276109982827,\n",
       "  0.9979352510620523,\n",
       "  0.9972449792647783,\n",
       "  0.9992031311978207,\n",
       "  0.9973721551308501,\n",
       "  0.9994000267039322,\n",
       "  0.9991396235313129,\n",
       "  0.9994349404680758,\n",
       "  0.9993136793987026,\n",
       "  0.999428939514054,\n",
       "  0.9994722614724522,\n",
       "  0.9994041815679898,\n",
       "  0.9993611471342441,\n",
       "  0.9995399773045234,\n",
       "  0.9994689544209278,\n",
       "  0.9995638446366754,\n",
       "  0.9995839334066531,\n",
       "  0.9994364764792926,\n",
       "  0.9993820578547916,\n",
       "  0.9996042969361597,\n",
       "  0.9993489800151889,\n",
       "  0.9988778179576062,\n",
       "  0.9989265307866039,\n",
       "  0.9985864868133396,\n",
       "  0.9989508220082273,\n",
       "  0.9985552540125614,\n",
       "  0.9989861780726464,\n",
       "  0.9989784381651466,\n",
       "  0.998660100219118,\n",
       "  0.9990088186764969,\n",
       "  0.9990885037829983,\n",
       "  0.9990716617018301,\n",
       "  0.9990987389354157,\n",
       "  0.9991025718947929,\n",
       "  0.9988824021338041,\n",
       "  0.9990637422379263,\n",
       "  0.9988060286919341,\n",
       "  0.9961871286013191,\n",
       "  0.9962027256785192,\n",
       "  0.9946438578902057,\n",
       "  0.9959201520329503,\n",
       "  0.9926527835504081,\n",
       "  0.9964496390913198,\n",
       "  0.9957097980284578,\n",
       "  0.9933245257633398,\n",
       "  0.9974388990274143,\n",
       "  0.9975139649229798,\n",
       "  0.9975678780276611,\n",
       "  0.9971557493827201,\n",
       "  0.9971973333042239,\n",
       "  0.994989410826237,\n",
       "  0.9966299337648338,\n",
       "  0.9944546524874318,\n",
       "  0.9974554549100256,\n",
       "  0.9973076624573695,\n",
       "  0.9972042812191666,\n",
       "  0.9973178735265412,\n",
       "  0.9968265402500535,\n",
       "  0.9974030185615695,\n",
       "  0.9972495392522793,\n",
       "  0.9973698212689088,\n",
       "  0.9975014972785816,\n",
       "  0.9973096202450376,\n",
       "  0.9973788354409261,\n",
       "  0.9967169458460395,\n",
       "  0.9970136278837739,\n",
       "  0.9946405536506693,\n",
       "  0.9960872987616248,\n",
       "  0.9947391153693027,\n",
       "  0.9977095351172822,\n",
       "  0.9975428752794074,\n",
       "  0.9977895197477737,\n",
       "  0.9972226138907951,\n",
       "  0.9965930792456767,\n",
       "  0.9977275378004703,\n",
       "  0.9970803723232629,\n",
       "  0.9960558286618434,\n",
       "  0.9979924137181098,\n",
       "  0.9982452071792565,\n",
       "  0.9983349678764126,\n",
       "  0.998327136523419,\n",
       "  0.998381066480975,\n",
       "  0.9972020725062727,\n",
       "  0.998009709593537,\n",
       "  0.9957659031667075,\n",
       "  0.9980797229898973,\n",
       "  0.9988881624950315,\n",
       "  0.9973854126182605,\n",
       "  0.9987418031454632,\n",
       "  0.9976063544617237,\n",
       "  0.9987282526256633,\n",
       "  0.998392993440672,\n",
       "  0.9979683177370336,\n",
       "  0.9975164957757143,\n",
       "  0.9974263799637906,\n",
       "  0.9979017612972881,\n",
       "  0.9944895554457739,\n",
       "  0.9961576138759443,\n",
       "  0.989258895014819,\n",
       "  0.9928551701889687,\n",
       "  0.9857347046466787],\n",
       " 'salt_pepper': [0.985713059051667,\n",
       "  0.9840143469984676,\n",
       "  0.9847731133631143,\n",
       "  0.9794091309316052,\n",
       "  0.4844832118919727,\n",
       "  0.48082271521942077,\n",
       "  0.47527429072644123,\n",
       "  0.491907451718833,\n",
       "  0.4603865257860883,\n",
       "  0.461536179522592,\n",
       "  0.451145897104336,\n",
       "  0.9978037255965977,\n",
       "  0.9972959690756725,\n",
       "  0.9975271671276137,\n",
       "  0.99580507589748,\n",
       "  0.9954925676223988,\n",
       "  0.9949471466989852,\n",
       "  0.994853326823482,\n",
       "  0.9931638053757429,\n",
       "  0.9919888382850326,\n",
       "  0.9905169482474876,\n",
       "  0.9921616599575607,\n",
       "  0.9956893324018351,\n",
       "  0.9879326658399432,\n",
       "  0.9853642272453558,\n",
       "  0.5577306040972564,\n",
       "  0.561496015337423,\n",
       "  0.5589035752361405,\n",
       "  0.5547904639975076,\n",
       "  0.5397978792266825,\n",
       "  0.5365823843463615,\n",
       "  0.5288363959423484,\n",
       "  0.5289411265130588,\n",
       "  0.9990085062495041,\n",
       "  0.99798804822717,\n",
       "  0.9971495159113459,\n",
       "  0.9959005370641143,\n",
       "  0.9964224609573968,\n",
       "  0.9951904965905647,\n",
       "  0.9946172851358965,\n",
       "  0.9942414636263402,\n",
       "  0.992596372105606,\n",
       "  0.9907066223576936,\n",
       "  0.9925205394012031,\n",
       "  0.9956263960101532,\n",
       "  0.9930052142563338,\n",
       "  0.9889186303761778,\n",
       "  0.23475829120836264,\n",
       "  0.2334006457865059,\n",
       "  0.23208361631139574,\n",
       "  0.23056687208587467,\n",
       "  0.22359452081478776,\n",
       "  0.21315885978840018,\n",
       "  0.20748345880234081,\n",
       "  0.21755665207827818,\n",
       "  0.9989514109198696,\n",
       "  0.9985663070388926,\n",
       "  0.9986782309020028,\n",
       "  0.9983092425156003,\n",
       "  0.9981199372207722,\n",
       "  0.9974550430036462,\n",
       "  0.996929938283248,\n",
       "  0.9971870740011278,\n",
       "  0.9961189223492685,\n",
       "  0.9960903189229464,\n",
       "  0.9961096567479377,\n",
       "  0.9989007672565815,\n",
       "  0.9986776356583879,\n",
       "  0.9984547702457082,\n",
       "  0.9979171760428784,\n",
       "  0.997749318478683,\n",
       "  0.99710935531926,\n",
       "  0.9971145768875147,\n",
       "  0.9968050623955451,\n",
       "  0.9962641476513444,\n",
       "  0.9961369484541441,\n",
       "  0.9957199553545079,\n",
       "  0.19216762835954979,\n",
       "  0.19142298848277609,\n",
       "  0.17873891385744228,\n",
       "  0.19370582727323338,\n",
       "  0.19382383640217904,\n",
       "  0.17336087002953296,\n",
       "  0.17891185119739933,\n",
       "  0.1661970486747515,\n",
       "  0.1759875418006942,\n",
       "  0.1495258036393851,\n",
       "  0.15351186333969133,\n",
       "  0.9980273595445801,\n",
       "  0.9982978716196057,\n",
       "  0.19574074298220107,\n",
       "  0.9950231471316622,\n",
       "  0.18888219246389712,\n",
       "  0.1521485244122934,\n",
       "  0.19562787265229067,\n",
       "  0.1838268636194443,\n",
       "  0.16445325550824877,\n",
       "  0.18475355127771895,\n",
       "  0.1858967602070999,\n",
       "  0.9988341058026246,\n",
       "  0.9986901693444181,\n",
       "  0.9982475614413115,\n",
       "  0.9984023765007055,\n",
       "  0.9982196338730803,\n",
       "  0.9962337091379523,\n",
       "  0.9975267011085801,\n",
       "  0.9963314519069623,\n",
       "  0.995629049548791,\n",
       "  0.11705545405291429,\n",
       "  0.12327554650898069,\n",
       "  0.9988121749284077,\n",
       "  0.9982394296414709,\n",
       "  0.994967569097333,\n",
       "  0.9915933549561551,\n",
       "  0.9945951447381417,\n",
       "  0.9830370075404876,\n",
       "  0.9897389376834068,\n",
       "  0.9939569232476511,\n",
       "  0.9851453433816925,\n",
       "  0.9621722950099523,\n",
       "  0.9579185866678924,\n",
       "  -0.9668380136219182,\n",
       "  -0.966267485947613,\n",
       "  -0.9652248907004177,\n",
       "  -0.9636941116291424,\n",
       "  -0.9591457707665907,\n",
       "  -0.9576743800833301,\n",
       "  -0.9553678499214718,\n",
       "  -0.9472173612916334,\n",
       "  -0.9535093291822035,\n",
       "  -0.9456864160821056,\n",
       "  -0.9428858178136708,\n",
       "  0.9984543026033058,\n",
       "  0.9975889626080363,\n",
       "  0.9969153427462709,\n",
       "  0.9965577631715887,\n",
       "  0.995249682457349,\n",
       "  0.22540731715180234,\n",
       "  0.2224009416985149,\n",
       "  0.23365924452368755,\n",
       "  0.22227731093485084,\n",
       "  0.22275241586470293,\n",
       "  0.21778067562354897,\n",
       "  0.9975044350241609,\n",
       "  0.9958372420202556,\n",
       "  0.9956403541761115,\n",
       "  0.9943351056006814,\n",
       "  0.9929515702846551,\n",
       "  0.9892521216015225,\n",
       "  0.9881186984415112,\n",
       "  0.9858148457115056,\n",
       "  0.9829955561833637,\n",
       "  0.978720318125077,\n",
       "  0.9670373205373838,\n",
       "  0.9993681290446095,\n",
       "  0.9990336109785749,\n",
       "  0.9988042973412478,\n",
       "  0.9982880108692378,\n",
       "  0.9978217228256682,\n",
       "  0.9977486863675421,\n",
       "  0.9969395856918014,\n",
       "  0.9949138861963689,\n",
       "  0.9949470400498142,\n",
       "  0.9913029476646247,\n",
       "  0.991434948728277,\n",
       "  0.9969324985981658,\n",
       "  0.9962443300368298,\n",
       "  0.9940130674825169,\n",
       "  0.9940851536411074,\n",
       "  0.9928066744726102,\n",
       "  0.9917568155977067,\n",
       "  0.9881941238716062,\n",
       "  0.9919479893651317,\n",
       "  0.13391883929121198,\n",
       "  0.11528202957898223,\n",
       "  0.1346750473848159,\n",
       "  0.9989262965644901,\n",
       "  0.9984406030630038,\n",
       "  0.9982322210632305,\n",
       "  0.9977649659826932,\n",
       "  0.9965967539711086,\n",
       "  0.9966242566255101,\n",
       "  0.9954046710578539,\n",
       "  0.9935000401076006,\n",
       "  0.9936325276594972,\n",
       "  0.9924106765501335,\n",
       "  0.9904432287019461,\n",
       "  0.9649434154227697,\n",
       "  0.9866917449338817,\n",
       "  0.1414656889373172,\n",
       "  0.96357489578735,\n",
       "  0.13084998060317618,\n",
       "  0.14258261786402068,\n",
       "  0.12957199336827352,\n",
       "  0.12628967741659036,\n",
       "  0.1134925306456175,\n",
       "  0.11478977096608423,\n",
       "  0.11516949423103816,\n",
       "  0.9980222500487782,\n",
       "  0.9952422777661123,\n",
       "  0.994106611836587,\n",
       "  0.9944023230412367,\n",
       "  0.9879505399633501,\n",
       "  0.9904605117262092,\n",
       "  0.9882619496480988,\n",
       "  0.9871768121056649,\n",
       "  0.9854102897988152,\n",
       "  0.9890195804802735,\n",
       "  0.9800036403862753,\n",
       "  0.9991208676544654,\n",
       "  0.9989879088751424,\n",
       "  0.9985694965576717,\n",
       "  0.9982665290665615,\n",
       "  0.9976495424153017,\n",
       "  0.9976762361205646,\n",
       "  0.9972488639498954,\n",
       "  0.996630589301972,\n",
       "  0.99701544990942,\n",
       "  0.9963808627356896,\n",
       "  0.995097094997696,\n",
       "  0.9905992272665404,\n",
       "  0.9934249886958958,\n",
       "  0.9873369585701371,\n",
       "  0.9829294866918314,\n",
       "  0.9893274040352333,\n",
       "  0.9762372055832473,\n",
       "  0.9776879519389603,\n",
       "  0.971603285201845,\n",
       "  0.9725858558853032,\n",
       "  0.5752875336311012,\n",
       "  0.5702106570001388,\n",
       "  0.9980195759526895,\n",
       "  0.9955741165047317,\n",
       "  0.9953465756458423,\n",
       "  0.9954315382838258,\n",
       "  0.9946991563146867,\n",
       "  0.994804127401732,\n",
       "  0.9908260576111108,\n",
       "  0.9934882281173285,\n",
       "  0.9916593547338515,\n",
       "  0.9888703769586363,\n",
       "  0.9874428516463316,\n",
       "  0.9945198739245413,\n",
       "  0.9947494293069342,\n",
       "  0.9923478454504434,\n",
       "  0.9881224071669011,\n",
       "  0.9871952135764974,\n",
       "  0.9782276094958376,\n",
       "  0.9866766805642408,\n",
       "  0.9696271471338878,\n",
       "  0.9697657815276822,\n",
       "  0.9627147300365173,\n",
       "  0.9593595002320495,\n",
       "  0.9984832516322255,\n",
       "  0.9983902174263309,\n",
       "  0.9973931870698093,\n",
       "  0.9975817283049959,\n",
       "  0.9971994463117032,\n",
       "  0.9950757817798923,\n",
       "  0.9945795455118744,\n",
       "  0.9950434435773065,\n",
       "  0.9934720002256998,\n",
       "  0.9939935382619806,\n",
       "  0.9935615860844693],\n",
       " 'speckle': [0.451145897104336,\n",
       "  0.451145897104336,\n",
       "  0.451145897104336,\n",
       "  0.451145897104336,\n",
       "  0.451145897104336,\n",
       "  0.451145897104336,\n",
       "  0.451145897104336,\n",
       "  0.451145897104336,\n",
       "  0.451145897104336,\n",
       "  0.451145897104336,\n",
       "  0.451145897104336,\n",
       "  0.9921616599575607,\n",
       "  0.9921616599575607,\n",
       "  0.9921616599575607,\n",
       "  0.9921616599575607,\n",
       "  0.9921616599575607,\n",
       "  0.9921616599575607,\n",
       "  0.9921616599575607,\n",
       "  0.9921616599575607,\n",
       "  0.9921616599575607,\n",
       "  0.9921616599575607,\n",
       "  0.9921616599575607,\n",
       "  0.5289411265130588,\n",
       "  0.5289411265130588,\n",
       "  0.5289411265130588,\n",
       "  0.5289411265130588,\n",
       "  0.5289411265130588,\n",
       "  0.5289411265130588,\n",
       "  0.5289411265130588,\n",
       "  0.5289411265130588,\n",
       "  0.5289411265130588,\n",
       "  0.5289411265130588,\n",
       "  0.5289411265130588,\n",
       "  0.9925205394012031,\n",
       "  0.9925205394012031,\n",
       "  0.9925205394012031,\n",
       "  0.9925205394012031,\n",
       "  0.9925205394012031,\n",
       "  0.9925205394012031,\n",
       "  0.9925205394012031,\n",
       "  0.9925205394012031,\n",
       "  0.9925205394012031,\n",
       "  0.9925205394012031,\n",
       "  0.9925205394012031,\n",
       "  0.21755665207827818,\n",
       "  0.21755665207827818,\n",
       "  0.21755665207827818,\n",
       "  0.21755665207827818,\n",
       "  0.21755665207827818,\n",
       "  0.21755665207827818,\n",
       "  0.21755665207827818,\n",
       "  0.21755665207827818,\n",
       "  0.21755665207827818,\n",
       "  0.21755665207827818,\n",
       "  0.21755665207827818,\n",
       "  0.9961096567479377,\n",
       "  0.9961096567479377,\n",
       "  0.9961096567479377,\n",
       "  0.9961096567479377,\n",
       "  0.9961096567479377,\n",
       "  0.9961096567479377,\n",
       "  0.9961096567479377,\n",
       "  0.9961096567479377,\n",
       "  0.9961096567479377,\n",
       "  0.9961096567479377,\n",
       "  0.9961096567479377,\n",
       "  0.9957199553545079,\n",
       "  0.9957199553545079,\n",
       "  0.9957199553545079,\n",
       "  0.9957199553545079,\n",
       "  0.9957199553545079,\n",
       "  0.9957199553545079,\n",
       "  0.9957199553545079,\n",
       "  0.9957199553545079,\n",
       "  0.9957199553545079,\n",
       "  0.9957199553545079,\n",
       "  0.9957199553545079,\n",
       "  0.15351186333969133,\n",
       "  0.15351186333969133,\n",
       "  0.15351186333969133,\n",
       "  0.15351186333969133,\n",
       "  0.15351186333969133,\n",
       "  0.15351186333969133,\n",
       "  0.15351186333969133,\n",
       "  0.15351186333969133,\n",
       "  0.15351186333969133,\n",
       "  0.15351186333969133,\n",
       "  0.15351186333969133,\n",
       "  0.1858967602070999,\n",
       "  0.1858967602070999,\n",
       "  0.1858967602070999,\n",
       "  0.1858967602070999,\n",
       "  0.1858967602070999,\n",
       "  0.1858967602070999,\n",
       "  0.1858967602070999,\n",
       "  0.1858967602070999,\n",
       "  0.1858967602070999,\n",
       "  0.1858967602070999,\n",
       "  0.1858967602070999,\n",
       "  0.12327554650898069,\n",
       "  0.12327554650898069,\n",
       "  0.12327554650898069,\n",
       "  0.12327554650898069,\n",
       "  0.12327554650898069,\n",
       "  0.12327554650898069,\n",
       "  0.12327554650898069,\n",
       "  0.12327554650898069,\n",
       "  0.12327554650898069,\n",
       "  0.12327554650898069,\n",
       "  0.12327554650898069,\n",
       "  0.9579185866678924,\n",
       "  0.9579185866678924,\n",
       "  0.9579185866678924,\n",
       "  0.9579185866678924,\n",
       "  0.9579185866678924,\n",
       "  0.9579185866678924,\n",
       "  0.9579185866678924,\n",
       "  0.9579185866678924,\n",
       "  0.9579185866678924,\n",
       "  0.9579185866678924,\n",
       "  0.9579185866678924,\n",
       "  -0.9428858178136708,\n",
       "  -0.9428858178136708,\n",
       "  -0.9428858178136708,\n",
       "  -0.9428858178136708,\n",
       "  -0.9428858178136708,\n",
       "  -0.9428858178136708,\n",
       "  -0.9428858178136708,\n",
       "  -0.9428858178136708,\n",
       "  -0.9428858178136708,\n",
       "  -0.9428858178136708,\n",
       "  -0.9428858178136708,\n",
       "  0.21778067562354897,\n",
       "  0.21778067562354897,\n",
       "  0.21778067562354897,\n",
       "  0.21778067562354897,\n",
       "  0.21778067562354897,\n",
       "  0.21778067562354897,\n",
       "  0.21778067562354897,\n",
       "  0.21778067562354897,\n",
       "  0.21778067562354897,\n",
       "  0.21778067562354897,\n",
       "  0.21778067562354897,\n",
       "  0.9670373205373838,\n",
       "  0.9670373205373838,\n",
       "  0.9670373205373838,\n",
       "  0.9670373205373838,\n",
       "  0.9670373205373838,\n",
       "  0.9670373205373838,\n",
       "  0.9670373205373838,\n",
       "  0.9670373205373838,\n",
       "  0.9670373205373838,\n",
       "  0.9670373205373838,\n",
       "  0.9670373205373838,\n",
       "  0.991434948728277,\n",
       "  0.991434948728277,\n",
       "  0.991434948728277,\n",
       "  0.991434948728277,\n",
       "  0.991434948728277,\n",
       "  0.991434948728277,\n",
       "  0.991434948728277,\n",
       "  0.991434948728277,\n",
       "  0.991434948728277,\n",
       "  0.991434948728277,\n",
       "  0.991434948728277,\n",
       "  0.1346750473848159,\n",
       "  0.1346750473848159,\n",
       "  0.1346750473848159,\n",
       "  0.1346750473848159,\n",
       "  0.1346750473848159,\n",
       "  0.1346750473848159,\n",
       "  0.1346750473848159,\n",
       "  0.1346750473848159,\n",
       "  0.1346750473848159,\n",
       "  0.1346750473848159,\n",
       "  0.1346750473848159,\n",
       "  0.9904432287019461,\n",
       "  0.9904432287019461,\n",
       "  0.9904432287019461,\n",
       "  0.9904432287019461,\n",
       "  0.9904432287019461,\n",
       "  0.9904432287019461,\n",
       "  0.9904432287019461,\n",
       "  0.9904432287019461,\n",
       "  0.9904432287019461,\n",
       "  0.9904432287019461,\n",
       "  0.9904432287019461,\n",
       "  0.11516949423103816,\n",
       "  0.11516949423103816,\n",
       "  0.11516949423103816,\n",
       "  0.11516949423103816,\n",
       "  0.11516949423103816,\n",
       "  0.11516949423103816,\n",
       "  0.11516949423103816,\n",
       "  0.11516949423103816,\n",
       "  0.11516949423103816,\n",
       "  0.11516949423103816,\n",
       "  0.11516949423103816,\n",
       "  0.9800036403862753,\n",
       "  0.9800036403862753,\n",
       "  0.9800036403862753,\n",
       "  0.9800036403862753,\n",
       "  0.9800036403862753,\n",
       "  0.9800036403862753,\n",
       "  0.9800036403862753,\n",
       "  0.9800036403862753,\n",
       "  0.9800036403862753,\n",
       "  0.9800036403862753,\n",
       "  0.9800036403862753,\n",
       "  0.995097094997696,\n",
       "  0.995097094997696,\n",
       "  0.995097094997696,\n",
       "  0.995097094997696,\n",
       "  0.995097094997696,\n",
       "  0.995097094997696,\n",
       "  0.995097094997696,\n",
       "  0.995097094997696,\n",
       "  0.995097094997696,\n",
       "  0.995097094997696,\n",
       "  0.995097094997696,\n",
       "  0.5702106570001388,\n",
       "  0.5702106570001388,\n",
       "  0.5702106570001388,\n",
       "  0.5702106570001388,\n",
       "  0.5702106570001388,\n",
       "  0.5702106570001388,\n",
       "  0.5702106570001388,\n",
       "  0.5702106570001388,\n",
       "  0.5702106570001388,\n",
       "  0.5702106570001388,\n",
       "  0.5702106570001388,\n",
       "  0.9874428516463316,\n",
       "  0.9874428516463316,\n",
       "  0.9874428516463316,\n",
       "  0.9874428516463316,\n",
       "  0.9874428516463316,\n",
       "  0.9874428516463316,\n",
       "  0.9874428516463316,\n",
       "  0.9874428516463316,\n",
       "  0.9874428516463316,\n",
       "  0.9874428516463316,\n",
       "  0.9874428516463316,\n",
       "  0.9593595002320495,\n",
       "  0.9593595002320495,\n",
       "  0.9593595002320495,\n",
       "  0.9593595002320495,\n",
       "  0.9593595002320495,\n",
       "  0.9593595002320495,\n",
       "  0.9593595002320495,\n",
       "  0.9593595002320495,\n",
       "  0.9593595002320495,\n",
       "  0.9593595002320495,\n",
       "  0.9593595002320495,\n",
       "  0.9935615860844693,\n",
       "  0.9935615860844693,\n",
       "  0.9935615860844693,\n",
       "  0.9935615860844693,\n",
       "  0.9935615860844693,\n",
       "  0.9935615860844693,\n",
       "  0.9935615860844693,\n",
       "  0.9935615860844693,\n",
       "  0.9935615860844693,\n",
       "  0.9935615860844693,\n",
       "  0.9935615860844693],\n",
       " 'watermark': [0.9999999999999998,\n",
       "  0.9998151287583585,\n",
       "  0.999942441094379,\n",
       "  0.9999423987039838,\n",
       "  0.9999423987039838,\n",
       "  0.9999423987039838,\n",
       "  0.9997594684275929,\n",
       "  0.9997594465794375,\n",
       "  0.9997594465794375,\n",
       "  0.9997594465794375,\n",
       "  0.9999999999999998,\n",
       "  0.9999797160834316,\n",
       "  0.9999963849334621,\n",
       "  0.9999963797736816,\n",
       "  0.9999963797736816,\n",
       "  0.9999963797736816,\n",
       "  0.9999839180076178,\n",
       "  0.999983918385348,\n",
       "  0.999983918385348,\n",
       "  0.999983918385348,\n",
       "  1.0,\n",
       "  0.9995770796002147,\n",
       "  0.9998788823224464,\n",
       "  0.9998786100018743,\n",
       "  0.9998786100018743,\n",
       "  0.9998786100018743,\n",
       "  0.9998397953944114,\n",
       "  0.9998394390479023,\n",
       "  0.9998394390479023,\n",
       "  0.9998408463191735,\n",
       "  1.0,\n",
       "  0.9999571989254096,\n",
       "  0.9999847525534896,\n",
       "  0.9999847515328586,\n",
       "  0.9999847515328586,\n",
       "  0.9999847515328586,\n",
       "  0.9999777996177208,\n",
       "  0.9999778002657238,\n",
       "  0.9999778002657238,\n",
       "  0.9999778002657238,\n",
       "  0.9999999999999999,\n",
       "  0.9998708915407998,\n",
       "  0.9999619116182242,\n",
       "  0.9999620005446621,\n",
       "  0.9999620005446621,\n",
       "  0.9999620005446621,\n",
       "  0.9998408493018985,\n",
       "  0.999840780884404,\n",
       "  0.999840780884404,\n",
       "  0.999840780884404,\n",
       "  1.0,\n",
       "  0.9999778993828123,\n",
       "  0.9999975693919376,\n",
       "  0.9999975619810387,\n",
       "  0.9999975619810387,\n",
       "  0.9999975676792692,\n",
       "  0.9999902430701609,\n",
       "  0.999990247162604,\n",
       "  0.999990247162604,\n",
       "  0.999990247162604,\n",
       "  1.0,\n",
       "  0.9999801447524568,\n",
       "  0.9999976407751306,\n",
       "  0.9999976398522274,\n",
       "  0.9999976398522274,\n",
       "  0.9999976398522274,\n",
       "  0.9999910442442391,\n",
       "  0.9999910409977443,\n",
       "  0.9999910409977443,\n",
       "  0.9999910409977443,\n",
       "  1.0,\n",
       "  0.9997761812299413,\n",
       "  0.9999507707591503,\n",
       "  0.999950810752448,\n",
       "  0.999950810752448,\n",
       "  0.999950810752448,\n",
       "  0.9999170102526515,\n",
       "  0.9999170566861997,\n",
       "  0.9999170566861997,\n",
       "  0.9999170566861997,\n",
       "  1.0,\n",
       "  0.999954225025411,\n",
       "  0.9999670882281106,\n",
       "  0.9999670659446187,\n",
       "  0.9999670659446187,\n",
       "  0.9999670659446187,\n",
       "  0.9999939621409928,\n",
       "  0.9999939546397769,\n",
       "  0.9999939546397769,\n",
       "  0.9999939760176256,\n",
       "  0.9999999999999998,\n",
       "  0.9999638354807406,\n",
       "  0.999995639536923,\n",
       "  0.9999956416429483,\n",
       "  0.9999956416429483,\n",
       "  0.9999956416429483,\n",
       "  0.9999834877285297,\n",
       "  0.9999834599180984,\n",
       "  0.9999834599180984,\n",
       "  0.9999834599180984,\n",
       "  1.0,\n",
       "  0.9999385505822262,\n",
       "  0.9999924213609896,\n",
       "  0.9999924389293577,\n",
       "  0.9999924389293577,\n",
       "  0.9999924389293577,\n",
       "  0.9999697790301231,\n",
       "  0.999969777971088,\n",
       "  0.999969777971088,\n",
       "  0.999969777971088,\n",
       "  1.0,\n",
       "  0.9999865019725969,\n",
       "  0.9999962548397786,\n",
       "  0.9999962548397786,\n",
       "  0.9999962548397786,\n",
       "  0.9999962548397786,\n",
       "  0.9999749508235494,\n",
       "  0.9999749583882664,\n",
       "  0.9999749583882664,\n",
       "  0.9999749583882664,\n",
       "  1.0,\n",
       "  0.9999586267037416,\n",
       "  0.99999436928352,\n",
       "  0.9999943670902994,\n",
       "  0.9999943670902994,\n",
       "  0.9999943670902994,\n",
       "  0.9999821752826853,\n",
       "  0.9999821847416008,\n",
       "  0.9999821847416008,\n",
       "  0.9999820496213775,\n",
       "  0.9999999999999998,\n",
       "  0.9998403792377042,\n",
       "  0.9999828221750967,\n",
       "  0.9999828146316649,\n",
       "  0.9999828146316649,\n",
       "  0.9999828146316649,\n",
       "  0.9999296917849507,\n",
       "  0.9999296777765962,\n",
       "  0.9999296777765962,\n",
       "  0.9999296777765962,\n",
       "  1.0,\n",
       "  0.9999336214332183,\n",
       "  0.9999946706002136,\n",
       "  0.999994674187179,\n",
       "  0.9999946656822805,\n",
       "  0.9999946656822805,\n",
       "  0.9999786266380957,\n",
       "  0.9999786303683457,\n",
       "  0.9999786303683457,\n",
       "  0.9999786303683457,\n",
       "  1.0,\n",
       "  0.9999848398210258,\n",
       "  0.999987526105966,\n",
       "  0.9999875200066733,\n",
       "  0.9999875200066733,\n",
       "  0.9999875200066733,\n",
       "  0.9999879345781492,\n",
       "  0.9999879388013234,\n",
       "  0.9999879447033945,\n",
       "  0.9999879447033945,\n",
       "  0.9999999999999999,\n",
       "  0.9999707917862122,\n",
       "  0.9999954476759063,\n",
       "  0.999995449556853,\n",
       "  0.999995449556853,\n",
       "  0.9999954498406739,\n",
       "  0.9999860137827404,\n",
       "  0.9999860133847686,\n",
       "  0.9999860133847686,\n",
       "  0.9999860133847686,\n",
       "  1.0,\n",
       "  0.9993284398139666,\n",
       "  0.9998684232363579,\n",
       "  0.9998684459407222,\n",
       "  0.9998684459407222,\n",
       "  0.9998684459407222,\n",
       "  0.9997164269473746,\n",
       "  0.999717024298722,\n",
       "  0.999717024298722,\n",
       "  0.999717024298722,\n",
       "  1.0,\n",
       "  0.9997997576483264,\n",
       "  0.9999802216651135,\n",
       "  0.9999801910678269,\n",
       "  0.9999802172923234,\n",
       "  0.9999802172923234,\n",
       "  0.9999116018380013,\n",
       "  0.9999115889558178,\n",
       "  0.9999115889558178,\n",
       "  0.9999115889558178,\n",
       "  1.0,\n",
       "  0.9999489211806049,\n",
       "  0.9999932811697709,\n",
       "  0.9999932858630136,\n",
       "  0.9999932858630136,\n",
       "  0.9999932858630136,\n",
       "  0.9999756333485958,\n",
       "  0.9999756412797791,\n",
       "  0.9999756412797791,\n",
       "  0.9999756412797791,\n",
       "  1.0,\n",
       "  0.999737124676454,\n",
       "  0.9999286232807247,\n",
       "  0.9999286611210249,\n",
       "  0.9999286611210249,\n",
       "  0.9999286611210249,\n",
       "  0.9998871243404187,\n",
       "  0.9998871621353079,\n",
       "  0.9998871621353079,\n",
       "  0.9998871621353079,\n",
       "  1.0,\n",
       "  0.999911840371341,\n",
       "  0.9999905860479431,\n",
       "  0.9999905963657293,\n",
       "  0.9999905963657293,\n",
       "  0.9999905963657293,\n",
       "  0.999962203465588,\n",
       "  0.9999621548363303,\n",
       "  0.9999621548363303,\n",
       "  0.9999621548363303,\n",
       "  0.9999999999999998,\n",
       "  0.9998420938374196,\n",
       "  0.9999264183846638,\n",
       "  0.9999264062728149,\n",
       "  0.9999264062728149,\n",
       "  0.9999264062728149,\n",
       "  0.9999102690546241,\n",
       "  0.9999102364212572,\n",
       "  0.9999102364212572,\n",
       "  0.9999101014533356,\n",
       "  0.9999999999999998,\n",
       "  0.9999176834418791,\n",
       "  0.9999907444719632,\n",
       "  0.9999907449724568,\n",
       "  0.9999907449724568,\n",
       "  0.9999907449724568,\n",
       "  0.999964202736599,\n",
       "  0.9999641889836546,\n",
       "  0.9999641889836546,\n",
       "  0.9999641889836546]}"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dir_dis_similar_dir(\"../new_data/similar_image_4/\",32,2,\"./新数据集结果/NMF_环形分区结果\")\n",
    "dis_different_dir(\"../new_data/different_image/\",32,2,\"./新数据集结果/NMF_环形分区结果\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "215315ad-eed3-4ab9-ab92-f6410a685744",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-02-01T09:47:15.806170Z",
     "iopub.status.busy": "2024-02-01T09:47:15.805173Z"
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "different_image_result_1.xlsx的最小值：-0.9824292576599586最大值：0.9938462734872598平均值：0.11839646418644398\n",
      "different_image_result_2.xlsx的最小值：-0.9828328128515675最大值：0.9975480564514311平均值：0.1426064806859361\n",
      "different_image_result_3.xlsx的最小值：-0.9840948751159952最大值：0.9986919562763514平均值：0.11847318712088395\n",
      "different_image_result_4.xlsx的最小值：-0.9875425464372452最大值：0.9976358865855787平均值：0.12672555355012072\n",
      "different_image_result_5.xlsx的最小值：-0.9718629211743989最大值：0.998611958630233平均值：0.12110603103565253\n",
      "brightness.xlsx的最小值：-0.9726992116299514最大值：0.999992933283721平均值：0.8445778031674581\n",
      "contrast.xlsx的最小值：-0.8304464906914822最大值：0.9999723222581594平均值：0.9019289998310401\n",
      "gamma correction.xlsx的最小值：-0.9673229177826945最大值：0.999961203787552平均值：0.7579710015824419\n",
      "gaussian.xlsx的最小值：-0.9428858178136708最大值：0.9961096567479377平均值：0.606420352984202\n",
      "jpeg.xlsx的最小值：-0.9670740234136234最大值：0.99962748840789平均值：0.8934909866369899\n",
      "rotation and cropping.xlsx的最小值：-0.9414429034742811最大值：0.9992556445657915平均值：0.4298264301760167\n",
      "rotation.xlsx的最小值：0.9790436012546249最大值：0.9999599403559598平均值：0.9978066707509688\n",
      "salt_pepper.xlsx的最小值：-0.9668380136219182最大值：0.9993681290446095平均值：0.7386188361284335\n",
      "speckle.xlsx的最小值：-0.9428858178136708最大值：0.9961096567479377平均值：0.6064203529842018\n",
      "watermark.xlsx的最小值：0.9993284398139666最大值：1.0平均值：0.999949120382828\n",
      "./新数据集结果/NMF_环形分区结果/different_image_result_1.xlsx\n"
     ]
    }
   ],
   "source": [
    "stat_analysis(\"./新数据集结果/NMF_环形分区结果/\")\n",
    "auc_analysis(\"./新数据集结果/NMF_环形分区结果/\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "id": "8da64e9e-775f-4992-8881-ba7e6ba8f7bc",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-01-12T09:49:34.708915Z",
     "iopub.status.busy": "2024-01-12T09:49:34.707270Z",
     "iopub.status.idle": "2024-01-12T09:49:43.936359Z",
     "shell.execute_reply": "2024-01-12T09:49:43.935333Z",
     "shell.execute_reply.started": "2024-01-12T09:49:34.708834Z"
    }
   },
   "outputs": [],
   "source": [
    "image_similar = pd.read_excel(os.path.join(\"./结果/NMF_环形分区结果/\",\"image_similar_distance_90.xlsx\"),header = 0)[0]\n",
    "image_different = pd.read_excel(os.path.join(\"./结果/NMF_环形分区结果/\",\"image_different_distance_1000.xlsx\"),header = 0)[0]\n",
    "tpr = []\n",
    "fpr = []\n",
    "# threshold = min(image_similar)\n",
    "threshold = max(image_different)\n",
    "tpr_number = len(image_similar[image_similar > threshold])\n",
    "fpr_number = len(image_different[image_different > threshold])\n",
    "sum1 = len(image_similar)\n",
    "sum2 = len(image_different)\n",
    "# tpr_number = 0\n",
    "# fpr_number = 0\n",
    "# for i in image_similar:\n",
    "#     if i < threshold:\n",
    "#         tpr_number += 1\n",
    "# for j in image_different:\n",
    "#     if j < threshold:\n",
    "#         fpr_number += 1\n",
    "tpr.append(tpr_number/sum1)\n",
    "fpr.append(fpr_number/sum2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "id": "26a93879-481c-4de2-bcac-d59d2bf93951",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-01-12T09:49:43.986643Z",
     "iopub.status.busy": "2024-01-12T09:49:43.986450Z",
     "iopub.status.idle": "2024-01-12T09:49:43.992436Z",
     "shell.execute_reply": "2024-01-12T09:49:43.991957Z",
     "shell.execute_reply.started": "2024-01-12T09:49:43.986623Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0.8633333333333333]"
      ]
     },
     "execution_count": 138,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tpr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "id": "092dbc9b-0e50-470d-bc08-dc277df8e85f",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-01-12T09:49:43.993677Z",
     "iopub.status.busy": "2024-01-12T09:49:43.993464Z",
     "iopub.status.idle": "2024-01-12T09:49:44.005821Z",
     "shell.execute_reply": "2024-01-12T09:49:44.005303Z",
     "shell.execute_reply.started": "2024-01-12T09:49:43.993656Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0.0]"
      ]
     },
     "execution_count": 139,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fpr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "id": "9b9cd063-3c47-4b8d-a352-bf68e753feac",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-01-12T09:38:14.591059Z",
     "iopub.status.busy": "2024-01-12T09:38:14.589499Z",
     "iopub.status.idle": "2024-01-12T09:38:24.340927Z",
     "shell.execute_reply": "2024-01-12T09:38:24.339973Z",
     "shell.execute_reply.started": "2024-01-12T09:38:14.590980Z"
    }
   },
   "outputs": [],
   "source": [
    "\n",
    "auc,tpr,fpr = my_auc(data_similar_rotation_90,data_different_set_1000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "id": "08293c14-4b28-405f-9900-da3150f0c233",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-01-12T08:35:39.877589Z",
     "iopub.status.busy": "2024-01-12T08:35:39.876965Z",
     "iopub.status.idle": "2024-01-12T08:49:33.056548Z",
     "shell.execute_reply": "2024-01-12T08:49:33.055606Z",
     "shell.execute_reply.started": "2024-01-12T08:35:39.877543Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|███████████| 200/200 [01:19<00:00,  2.52it/s]\n",
      "100%|█████████| 1000/1000 [06:11<00:00,  2.69it/s]\n"
     ]
    }
   ],
   "source": [
    "data_similar_rotation_2 = dis_similar_dir(\"../data/rotation_2/\",32,2)\n",
    "pd.DataFrame(data_similar_rotation_2).to_excel(\"./结果/NMF_环形分区结果/image_similar_distance_2.xlsx\",index = False)\n",
    "\n",
    "data_similar_rotation_90 = dis_similar_dir(\"../data/rotation_90/\",32,2)\n",
    "pd.DataFrame(data_similar_rotation_90).to_excel(\"./结果/NMF_环形分区结果/image_similar_distance_90.xlsx\",index = False)\n",
    "\n",
    "data_different_set_200,_ = dis_different_dir(\"../data/Image Set 200/\",32,2)\n",
    "pd.DataFrame(data_different_set_200).to_excel(\"./结果/NMF_环形分区结果/image_different_distance_200.xlsx\",index = False)\n",
    "\n",
    "data_different_set_1000,_ = dis_different_dir(\"../data/Image Set 1000/\",32,2)\n",
    "pd.DataFrame(data_different_set_1000).to_excel(\"./结果/NMF_环形分区结果/image_different_distance_1000.xlsx\",index = False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "id": "b9831cb7-40bb-4dbe-b75c-0db908cfc973",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-01-12T08:51:01.917405Z",
     "iopub.status.busy": "2024-01-12T08:51:01.915802Z",
     "iopub.status.idle": "2024-01-12T08:51:43.047519Z",
     "shell.execute_reply": "2024-01-12T08:51:43.046490Z",
     "shell.execute_reply.started": "2024-01-12T08:51:01.917325Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "image_similar_distance_2.xlsx的最小值：-0.4021579804747194最大值：0.9999999997937878平均值：0.985257972949186\n",
      "image_similar_distance_90.xlsx的最小值：0.991969828548144最大值：0.9999999979993249平均值：0.9988689132356126\n",
      "image_different_distance_200.xlsx的最小值：-0.9504143166644999最大值：0.9954976594193283平均值：0.13503094000021304\n",
      "image_different_distance_1000.xlsx的最小值：-0.9712082009443629最大值：0.9977987571542148平均值：0.11167195635997205\n",
      "旋转2°和set 200的auc值0.9944612315965795\n",
      "旋转2°和set 1000的auc值0.9951213560051281\n",
      "旋转90°和set 200的auc值0.9999670016750419\n",
      "旋转90°和set 1000的auc值0.9999952452452453\n"
     ]
    }
   ],
   "source": [
    "stat_analysis(\"./结果/NMF_环形分区结果/\")\n",
    "auc_analysis(\"./结果/NMF_环形分区结果/\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "image",
   "language": "python",
   "name": "iamge"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.16"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
